← 一覧に戻る

【第66話】共通の番号で表をつなげる|ITパスポート 令和5年度 問100

~ツンデレ女子大生と東大パソコンオタクの、ちょっと不器用な勉強会~

第66話|第3部 場所:動物園

登場人物

美咲

美咲(みさき)

女子大生。就活のエントリーシートの資格欄が真っ白なことに気づき、慌ててITパスポートの勉強を開始。ITは完全に素人。高校時代は可愛くて人気者だったので、ちょっとプライドが高い。素直じゃない。

拓也

拓也(たくや)

美咲の高校時代の同級生。東京大学工学部。子どもの頃からパソコンばかりいじってきた生粋のオタク。実は美咲のことが好きだが、10年近く言い出せていない。教えるのは得意だが、口が悪いのが玉に瑕。

動物園

今日の問題

今日の問題

関係データベースにおける結合操作はどれか。

  • 表から、特定の条件を満たすレコードを抜き出した表を作る。
  • 表から、特定のフィールドを抜き出した表を作る。
  • 二つの表から、同じ値をもつレコードを抜き出した表を作る。
  • 二つの表から、フィールドの値によって関連付けした表を作る。

第1幕:飼育員の掲示板の前で

11月、二人は動物園に来ていた。飼育スペースの脇に、その日の健康診断記録と、餌やりの記録が、それぞれ別の表で掲示されている。

美咲

美咲

この2枚、個体番号でリンクしてるのね。どっちの表にも、同じ番号が書いてある

拓也

拓也

あ、それ、今日の問題にちょうどいい話だ

美咲

美咲

動物園に来てまで繋げるのね……

拓也

拓也

今回は本当に、この2枚の表そのものが手がかりなんだって

第2幕:同じ値を持つレコードを抜き出すやつでしょ

近くのベンチに座り、拓也がノートを広げる。

美咲

美咲

じゃあ答えるわね。これでしょ。『二つの表から、同じ値をもつレコードを抜き出す』

拓也

拓也

お、なんでそう思った?

美咲

美咲

だって、さっきの2枚の表、同じ個体番号のところを見比べてたわけでしょ?  だったら"同じ値を持つものを抜き出す"のと、同じことだと思ったんだけど

拓也

拓也

発想はすごく近いんだけど、実は"同じ値のものだけ抜き出す"のと"共通の値で結びつけて、両方の情報を一緒に見る"のは、やってることが違うんだ

美咲

美咲

え、違うの?

拓也

拓也

うん。ウの説明は"積"、二つの表に共通して存在するレコードだけを抜き出す操作。今日の問題が聞いてる結合は、"共通の値で二つの表を結びつけて、両方の情報を持った新しい表を作る"操作なんだ

第3幕:2枚の台帳が、1枚になる

拓也は、掲示されている2枚の表を交互に指さした。

拓也

拓也

この2枚、個体番号は共通してるけど、書いてある内容は別々だよね。健康診断の記録表には体重や体温、餌やりの記録表には給餌量や時間

美咲

美咲

うん、たしかに、別々の情報ね

拓也

拓也

この2枚を、個体番号をキーにして結びつけると、"この個体は、体重○kgで、今日はこの時間にこの量の餌を食べた"っていう、1枚にまとまった情報が作れる。これが結合操作なんだ

美咲

美咲

あ……!  同じものを抜き出すんじゃなくて、別々の情報を"つなげて"、もっと詳しい表にするってことね

拓也

拓也

そのとおり。正解はエ二つの表を、共通のフィールドの値で関連付けて、新しい一つの表を作る。これが結合(JOIN)。関係データベースでは、こうやって複数の表を組み合わせて使うのが基本なんだ

美咲

美咲

なるほどね……。バラバラの台帳も、キーさえ揃ってれば、繋げて見られるのね

第4幕:あ、また買っちゃった

動物園を一周し、出口近くの売店に差し掛かったところで、拓也が足を止めた。

拓也

拓也

あ、このキーホルダー、さっき見たカピバラにそっくり

美咲

美咲

……ちょっと、さっきもぬいぐるみ買ってなかった?

拓也

拓也

……あ、また買っちゃった

拓也の手には、すでにぬいぐるみとポストカード、そして今買ったばかりのキーホルダーが握られていた。

美咲

美咲

あんた、こういうグッズに弱すぎるでしょ。紙袋、いつの間にか増えてるし

拓也

拓也

つい、可愛くて……

美咲

美咲

気持ちはわかるけど、ちょっと歯止めきかせなさいよね

拓也

拓也

面目ない……。以後、一施設一個までにします

美咲

美咲

その謎ルール、続くといいけど

第5幕:残りの選択肢を片付ける

売店を出て、二人はベンチに座り直す。

美咲

美咲

……気を取り直して。残りのも教えて

拓也

拓也

アの『特定の条件を満たすレコードを抜き出す』は、選択(セレクト)操作。たとえば"体重が50kg以上の個体だけ"みたいに、条件に合う行を絞り込むんだ

美咲

美咲

イは?

拓也

拓也

イの『特定のフィールドを抜き出す』は、射影(プロジェクト)操作。表の中から、"名前と体重の列だけ"みたいに、必要な列だけを取り出すんだ

美咲

美咲

選択は条件で行を絞る、射影は必要な列だけ取り出す、積は共通するレコードだけ抜き出す、結合はキーで二つの表を繋げる。……全部、表の"切り口"が違うのね

拓也

拓也

完璧な整理。関係データベースの基本操作は、この4つを組み合わせて、欲しい情報を取り出していくんだ

問題文(再掲)

関係データベースにおける結合操作はどれか。

  • 表から、特定の条件を満たすレコードを抜き出した表を作る。
  • 表から、特定のフィールドを抜き出した表を作る。
  • 二つの表から、同じ値をもつレコードを抜き出した表を作る。
  • 二つの表から、フィールドの値によって関連付けした表を作る。

まとめ:選択肢ごとの答え合わせ

選択肢内容正誤
条件を満たすレコードを抜き出す(選択)不正解
特定のフィールドを抜き出す(射影)不正解
二つの表から同じ値をもつレコードを抜き出す(積)不正解
二つの表をフィールドの値で関連付ける(結合)正解

答えエ 二つの表から、フィールドの値によって関連付けした表を作る

覚え方のコツ

別々の台帳も、共通の番号さえあれば、繋げて1枚になる。

エピローグ

紙袋を提げた拓也の隣で、美咲がくすっと笑った。

美咲

美咲

今日は、あんたの浪費癖が見られた日だったわね

拓也

拓也

返す言葉もございません……

美咲

美咲

まあ、そのキーホルダー、悪くないと思うけど

拓也

拓也

え、ほんとに?

美咲

美咲

うん。……ちょっと、私にも一個くれてもいいけど

拓也

拓也

あ、じゃあこれ

拓也は、まだレジ袋に入ったままだったもう一つのキーホルダーを、美咲に差し出した。

美咲

美咲

……最初から二個買ってたの?

拓也

拓也

……あ、それはまあ、その

拓也

拓也心の声

……別々に買ったつもりだったけど、結局、最初から美咲の分も考えてたんだよな。二つで、ちゃんと一つに繋がってたのかもしれない

美咲

美咲

なに黙ってるのよ

拓也

拓也

いや、なんでもない。ありがとう、受け取ってくれて

美咲

美咲

別に、大したことじゃないけど

夕暮れの動物園の出口で、二人はお揃いのキーホルダーを提げて、ゲートを抜けていった。

今日のポイントおさらい

  1. 結合(JOIN)=二つの表を、共通のフィールドの値で関連付けて、新しい一つの表を作る操作
  2. 積は、二つの表に共通して存在するレコードだけを抜き出す操作
  3. 選択は、特定の条件を満たすレコード(行)を抜き出す操作
  4. 射影は、特定のフィールド(列)を抜き出す操作
  5. 選択・射影・積・結合は、いずれも関係データベースの基本的な操作として組み合わせて使われる

この記事はITパスポート試験 令和5年度 問100(テクノロジ系/データベース)の解説です。

← 一覧に戻る