平成28年度 春期 ITパスポート試験 問95 解説 関係代数の操作
表1と表2に,ある操作を行って表3が得られた。行った操作だけを全て挙げたものはどれか。
- ア 結合
- イ 結合,射影 ✓ 正答
- ウ 結合,選択
- エ 選択,射影
解説
この問題は、2つの表から別の表を導き出すためのデータベース操作(関係代数)の手順を見抜く問題です。解く手順は以下の2段階です。
- 共通する項目(品名コード)を使って、表1と表2の情報を1つに統合する(結合)。この結果、品名コード、品名、価格、メーカ、棚番号のすべての列を持つ大きな表ができます。
- 完成した表から不要な列(品名コード、メーカ)を取り除き、必要な列(品名、価格、棚番号)だけを残す(射影)。
この手順により、表3が完成するため、答えは結合と射影となります。
データベース操作の基本概念
データベースを操作する際、データの抽出や加工には一定のルールがあります。試験で頻出するのは以下の操作です。
・結合(Join) 複数の表を、共通の項目をキーにして横に繋ぎ合わせる操作です。今回の問題では「品名コード」をキーにして表1と表2を繋げました。
・射影(Project) 表から特定の列だけを抜き出す操作です。縦の切り出しとも言われます。表3を見ると、元の表にあった「メーカ」などの列が消えているため、射影が行われたと判断できます。
・選択(Select) 特定の条件に合致する行だけを抜き出す操作です。横の切り出しとも言われます。もし「価格が140以上のものだけ」のような条件で絞り込んでいれば選択が必要ですが、今回はすべての行が出力されているため、選択は行われていません。
なぜこの知識が必要なのか
この問題の教育的意図は、データベース管理システム(DBMS)がどのようにデータを処理しているかの裏側を理解させる点にあります。
私たちが普段使っているシステムで、例えばECサイトの「注文履歴」画面を表示する場合、システムは「注文テーブル」と「商品テーブル」を結合し、必要な情報(商品名や価格など)だけを射影して表示しています。
もしこれら関係代数の考え方がわかっていれば、SQLでデータを抽出する際に「どのテーブルを結合し、どの列を表示させるべきか」を論理的に組み立てることができます。単なる暗記ではなく、データ処理の論理的な構造を学ぶことで、システム開発やデータ分析における基礎体力が養われます。