登場人物
美咲(みさき)
女子大生。就活のエントリーシートの資格欄が真っ白なことに気づき、慌ててITパスポートの勉強を開始。ITは完全に素人。高校時代は可愛くて人気者だったので、ちょっとプライドが高い。素直じゃない。
拓也(たくや)
美咲の高校時代の同級生。東京大学工学部。子どもの頃からパソコンばかりいじってきた生粋のオタク。実は美咲のことが好きだが、10年近く言い出せていない。教えるのは得意だが、口が悪いのが玉に瑕。
今日の問題
今日の問題
関係データベースにおける結合操作はどれか。
- ア表から、特定の条件を満たすレコードを抜き出した表を作る。
- イ表から、特定のフィールドを抜き出した表を作る。
- ウ二つの表から、同じ値をもつレコードを抜き出した表を作る。
- エ二つの表から、フィールドの値によって関連付けした表を作る。
第1幕:飼育員の掲示板の前で
11月、二人は動物園に来ていた。飼育スペースの脇に、その日の健康診断記録と、餌やりの記録が、それぞれ別の表で掲示されている。
美咲
この2枚、個体番号でリンクしてるのね。どっちの表にも、同じ番号が書いてある
拓也
あ、それ、今日の問題にちょうどいい話だ
美咲
動物園に来てまで繋げるのね……
拓也
今回は本当に、この2枚の表そのものが手がかりなんだって
第2幕:同じ値を持つレコードを抜き出すやつでしょ
近くのベンチに座り、拓也がノートを広げる。
美咲
じゃあ答えるわね。これウでしょ。『二つの表から、同じ値をもつレコードを抜き出す』
拓也
お、なんでそう思った?
美咲
だって、さっきの2枚の表、同じ個体番号のところを見比べてたわけでしょ? だったら"同じ値を持つものを抜き出す"のと、同じことだと思ったんだけど
拓也
発想はすごく近いんだけど、実は"同じ値のものだけ抜き出す"のと"共通の値で結びつけて、両方の情報を一緒に見る"のは、やってることが違うんだ
美咲
え、違うの?
拓也
うん。ウの説明は"積"、二つの表に共通して存在するレコードだけを抜き出す操作。今日の問題が聞いてる結合は、"共通の値で二つの表を結びつけて、両方の情報を持った新しい表を作る"操作なんだ
第3幕:2枚の台帳が、1枚になる
拓也は、掲示されている2枚の表を交互に指さした。
拓也
この2枚、個体番号は共通してるけど、書いてある内容は別々だよね。健康診断の記録表には体重や体温、餌やりの記録表には給餌量や時間
美咲
うん、たしかに、別々の情報ね
拓也
この2枚を、個体番号をキーにして結びつけると、"この個体は、体重○kgで、今日はこの時間にこの量の餌を食べた"っていう、1枚にまとまった情報が作れる。これが結合操作なんだ
美咲
あ……! 同じものを抜き出すんじゃなくて、別々の情報を"つなげて"、もっと詳しい表にするってことね
拓也
そのとおり。正解はエ。二つの表を、共通のフィールドの値で関連付けて、新しい一つの表を作る。これが結合(JOIN)。関係データベースでは、こうやって複数の表を組み合わせて使うのが基本なんだ
美咲
なるほどね……。バラバラの台帳も、キーさえ揃ってれば、繋げて見られるのね
第4幕:あ、また買っちゃった
動物園を一周し、出口近くの売店に差し掛かったところで、拓也が足を止めた。
拓也
あ、このキーホルダー、さっき見たカピバラにそっくり
美咲
……ちょっと、さっきもぬいぐるみ買ってなかった?
拓也
……あ、また買っちゃった
拓也の手には、すでにぬいぐるみとポストカード、そして今買ったばかりのキーホルダーが握られていた。
美咲
あんた、こういうグッズに弱すぎるでしょ。紙袋、いつの間にか増えてるし
拓也
つい、可愛くて……
美咲
気持ちはわかるけど、ちょっと歯止めきかせなさいよね
拓也
面目ない……。以後、一施設一個までにします
美咲
その謎ルール、続くといいけど
第5幕:残りの選択肢を片付ける
売店を出て、二人はベンチに座り直す。
美咲
……気を取り直して。残りのアとイも教えて
拓也
アの『特定の条件を満たすレコードを抜き出す』は、選択(セレクト)操作。たとえば"体重が50kg以上の個体だけ"みたいに、条件に合う行を絞り込むんだ
美咲
イは?
拓也
イの『特定のフィールドを抜き出す』は、射影(プロジェクト)操作。表の中から、"名前と体重の列だけ"みたいに、必要な列だけを取り出すんだ
美咲
選択は条件で行を絞る、射影は必要な列だけ取り出す、積は共通するレコードだけ抜き出す、結合はキーで二つの表を繋げる。……全部、表の"切り口"が違うのね
拓也
完璧な整理。関係データベースの基本操作は、この4つを組み合わせて、欲しい情報を取り出していくんだ
問題文(再掲)
関係データベースにおける結合操作はどれか。
- ア表から、特定の条件を満たすレコードを抜き出した表を作る。
- イ表から、特定のフィールドを抜き出した表を作る。
- ウ二つの表から、同じ値をもつレコードを抜き出した表を作る。
- エ二つの表から、フィールドの値によって関連付けした表を作る。
まとめ:選択肢ごとの答え合わせ
| 選択肢 | 内容 | 正誤 |
|---|---|---|
| ア | 条件を満たすレコードを抜き出す(選択) | 不正解 |
| イ | 特定のフィールドを抜き出す(射影) | 不正解 |
| ウ | 二つの表から同じ値をもつレコードを抜き出す(積) | 不正解 |
| エ | 二つの表をフィールドの値で関連付ける(結合) | 正解 |
答えエ 二つの表から、フィールドの値によって関連付けした表を作る
覚え方のコツ
別々の台帳も、共通の番号さえあれば、繋げて1枚になる。
- 結合(JOIN)=二つの表を、共通のフィールドの値で関連付けて、新しい一つの表を作る操作
- 積は、二つの表に共通して存在するレコードだけを抜き出す操作。結合とは目的が異なる
- 選択は条件で行を絞り込む操作、射影は必要な列だけを取り出す操作
エピローグ
紙袋を提げた拓也の隣で、美咲がくすっと笑った。
美咲
今日は、あんたの浪費癖が見られた日だったわね
拓也
返す言葉もございません……
美咲
まあ、そのキーホルダー、悪くないと思うけど
拓也
え、ほんとに?
美咲
うん。……ちょっと、私にも一個くれてもいいけど
拓也
あ、じゃあこれ
拓也は、まだレジ袋に入ったままだったもう一つのキーホルダーを、美咲に差し出した。
美咲
……最初から二個買ってたの?
拓也
……あ、それはまあ、その
拓也心の声
……別々に買ったつもりだったけど、結局、最初から美咲の分も考えてたんだよな。二つで、ちゃんと一つに繋がってたのかもしれない
美咲
なに黙ってるのよ
拓也
いや、なんでもない。ありがとう、受け取ってくれて
美咲
別に、大したことじゃないけど
夕暮れの動物園の出口で、二人はお揃いのキーホルダーを提げて、ゲートを抜けていった。
今日のポイントおさらい
- 結合(JOIN)=二つの表を、共通のフィールドの値で関連付けて、新しい一つの表を作る操作
- 積は、二つの表に共通して存在するレコードだけを抜き出す操作
- 選択は、特定の条件を満たすレコード(行)を抜き出す操作
- 射影は、特定のフィールド(列)を抜き出す操作
- 選択・射影・積・結合は、いずれも関係データベースの基本的な操作として組み合わせて使われる
この記事はITパスポート試験 令和5年度 問100(テクノロジ系/データベース)の解説です。