平成30年度 秋期 ITパスポート試験 公開問題 問85 解説 関係データベースの結合
関係データベースで管理している“担当社員”表,“地区”表及び“顧客”表を結 合して,A表を得た。結合に用いた“顧客”表はどれか。ここで,下線のうち実線 は主キーを,破線は外部キーを表す。
- ア.
- イ.
- ウ.
- エ. ✓ 正答
解説
この問題は、結合先の「A表」にどの項目が含まれているかを論理的に特定することで解くことができます。
A表には「担当社員」表の社員名と、「地区」表の地区名が含まれています。関係データベースにおいて、離れた表同士を結合して情報を引き出すためには、結合の橋渡しとなるキーが必要です。
- 担当社員表から社員名を得るには、顧客表に「社員コード」が含まれている必要があります。
- 地区表から地区名を得るには、顧客表に「地区コード」が含まれている必要があります。
これら両方を満たし、社員コードと地区コードの両方を外部キーとして保持しているのが選択肢エです。
外部キーの役割と重要性
関係データベースでは、複数の表(テーブル)を分けて管理することで、データの重複を防ぎ、効率的に運用します。これを正規化といいます。
例えば、「どの顧客をどの社員が担当し、その顧客がどの地区にいるか」という情報を一か所にすべて詰め込むと、同じ社員名や地区名が何度も書き込まれ、修正が必要になった際に手間がかかります。そのため、社員の情報は「担当社員」表、場所の情報は「地区」表と分けて管理します。
このとき、別の表の主キーを自分の表に持たせることで、表同士を結びつけることができます。この項目のことを外部キーと呼びます。今回の問題のように、複数の表を連結して一覧表(A表)を作る際には、結合のキーとなる外部キーが不可欠です。
試験での活用場面
このような問題は、ITパスポート試験の「データベース」分野で頻出です。特に以下のパターンで問われます。
- どの項目をキーにして結合すれば、目的のデータが得られるか(結合操作の理解)
- 表の構造を見て、整合性を保つためのリレーション(関係)を特定できるか
- 主キーと外部キーの定義を正しく理解しているか
実務においても、システム開発やデータ分析を行う際には必ずこの考え方を使います。表を眺める際、「このIDはどこの表を参照しているのか」というリレーションを意識する癖をつけると、データベースの構造を素早く理解できるようになります。
- リレーショナルデータベースの結合(わかりやすく解説するIT技術解説サイト)