平成21年度 春期 ITパスポート試験 問93 解説 データベースの結合操作
図2に示す会員利用分析表の作成方法について,適切なものはどれか。
- 会員表と入館表を,会員番号をキーにして結合する。 ✓ 正答
- 会員表を会員番号で整列し,入館表から射影する。
- 入館表の会員番号をキーにして,会員表を選択する。
- 入館表を会員番号で整列し,会員表を選択する。
解説
この問題は、データベースにおける「結合」の定義を問うています。2つの表にまたがるデータを組み合わせて1つの表を作る操作、つまり「会員番号」という共通の項目を鍵にして情報を紐付ける操作は「結合(JOIN)」と呼びます。
データベースの基本操作と用語の定義
リレーショナルデータベースにおいて、表のデータを操作する基本演算には以下の3つがあります。試験でも頻出の用語ですので、意味を正確に区別しておくことが重要です。
- 結合(JOIN):2つの表を、共通する列(キー)に基づいて1つにまとめる操作です。今回のように「会員名」が書かれた表と「入館日時」が書かれた表を合わせるには、この結合が必要です。
- 射影(Projection):表の中から、特定の列(縦方向)だけを取り出す操作です。たとえば「会員番号」と「名前」の列だけが必要な場合に用います。
- 選択(Selection):表の中から、条件に合致する行(横方向)だけを取り出す操作です。たとえば「特定の会員番号」のデータだけを抜き出す場合などに用います。
問題の構造と解き方
この問題を解くためのポイントは、求められている結果が「複数の表の情報を合体させたもの」であると見抜くことです。
図のように「会員番号」という共通の項目が存在する2つの表を並べ、それらを突き合わせて一つのリストにするには、両者の関係性を繋ぐ作業が必要です。これを「結合」といいます。
選択肢にある「射影」や「選択」という言葉に惑わされないようにしましょう。「会員番号で整列」するだけであれば、単なる並び替え(ソート)であり、表を組み合わせる操作にはなりません。したがって、2つの表を統合する「結合」が最も適切な手法となります。
データベース技術の重要性
この知識は、実際のビジネス現場やWebアプリケーションの開発で極めて重要です。私たちが普段目にする「注文履歴」や「マイページ」などの表示機能は、まさにこの「結合」の連続によって実現されています。
たとえば、ECサイトで「自分の注文詳細」を確認する際、データベースには「顧客テーブル」「商品テーブル」「注文テーブル」が別々に格納されています。システムは、顧客番号をキーにして顧客と注文を結合し、商品コードをキーにして注文と商品を結合することで、初めて画面上に「あなたの名前」と「買った商品名」を同時に表示できるのです。
ITパスポート試験においてこの問題が出題される意図は、単なる用語の暗記を求めているのではなく、データベースが情報をどのように結びつけて「意味のある情報」に変換しているのか、その論理的な仕組みを理解しているかを確認するためです。