STAGE 01 — 1-4 / データベースの世界

このサイトでの練習のしかた

考えてみよう

新しいスポーツのルールを覚えるとき、説明文を読むだけの人と、実際にコートに立って体を動かした人。どちらが早く上達すると思いますか?

SQLも同じです。読んで「なるほど」と思うのと、実際に自分の指でタイプして結果が返ってくるのを見るのとでは、身につき方がまったく違います。この講座は、その両方を組み合わせて進めます。

この講座の進め方 ― 読む→打つ、の繰り返し

このSTAGE 01では、データベースやSQLの「考え方」を文章で説明してきました。ここから先のSTAGE 02以降も、まずは記事でその回の構文をやさしく解説します。しかし、それだけでは終わりません。

この講座の進め方は、とてもシンプルです。

  1. 記事を読んで、その回のSQL構文の意味を理解する
  2. /sql/game/SQL DIVER を開き、学んだ構文を実際にタイプする
  3. 打ち込んだSQLが正しく動く感覚を、指と目で覚える

「なるほど、と思ったらすぐ打つ」——これを繰り返すことで、SQL文は頭の知識から、指が覚えている技術に変わっていきます。読むだけで終わらせず、必ずゲームで手を動かしてみてください。

練習台となるデータベース「アマテラス」

この講座とSQL DIVERでは、共通の題材として、架空の宇宙ステーション「アマテラス」の管理データベースを使います。乗組員やミッションの情報が、次の3つのテーブルに整理されています。

crew(乗組員テーブル)

列名内容
id乗組員ID(主キー)
name名前(ユミ、ケンジなど)
role役職(エンジニア/パイロット/医師/研究員 など)
age年齢
home出身地(地球/火星/月)
salary給与

planets(惑星テーブル)

列名内容
id惑星ID(主キー)
name惑星の名前(火星、金星、タイタンなど)
distance地球からの距離
population人口

missions(ミッションテーブル)

列名内容
idミッションID(主キー)
titleミッション名
crew_id担当する乗組員のID
planet_id目的地の惑星ID
reward報酬
status状態(進行中/完了 など)

この講座では、主に crew テーブルを使ってSELECT文の基礎を練習していきます。planetsmissions は、後のSTAGEでテーブル同士を組み合わせる学習に使う予定です。今の時点では「こういう3つの表があるんだな」という全体像だけつかんでおけば十分です。

SQL DIVERの遊び方の流れ

/sql/game/SQL DIVER は、実際にSQL文をタイプして、アマテラスのデータベースから正しく情報を取り出すゲームです。基本的な流れは次の通りです。

構文を覚えたては、スペルミスや句の順番の間違いでつまずくこともあると思います。でも、それこそが練習です。間違えて、直して、また打つ——このサイクルの中で、SQLは少しずつあなたの体に染み込んでいきます。

確認問題

この講座で、記事を読んだ後にやるべきことは何でしょう?

答えを見る

/sql/game/SQL DIVER を開いて、学んだ構文を実際にタイプしてみることです。読んで理解したつもりでも、実際に自分の手で打ってみて初めて、本当に身についたかどうかが分かります。

準備は整いました。次のSTAGE 02からは、いよいよSQLの心臓部である SELECT文 に入っていきます。読んだらすぐ、SQL DIVERでアマテラスの crew テーブルに向かってタイプしてみましょう。

ゆみちゃん
ゆみ

アマテラスの3つの表、なんとなくイメージできたかな? 完璧に覚えなくて大丈夫、困ったらこの記事に戻ってくればOK。次はいよいよSELECT文、実際に手を動かしていこう!