問題
問72
リレーショナルデータベースにおいて、テーブル内の特定の列の値が他のテーブルの主キーを参照し、両テーブル間の関係性を定義するために用いられるキーを何と呼ぶか。
- 主キー
- 候補キー
- スーパーキー
- 外部キー
正解
正解は「エ」です。
解説
正解は「エ」の外部キーです。外部キー(Foreign Key)は、リレーショナルデータベースにおいて、あるテーブルの特定の列が、別のテーブルの主キー(または一意キー)を参照することで、テーブル間の関連付けを定義するためのキーです。これにより、データの整合性を保つ重要な役割を果たします。
例えば、「社員テーブル」(主キー:社員ID)と「部署テーブル」(主キー:部署ID)があるとします。社員テーブルに「所属部署ID」という列を設け、これを部署テーブルの部署IDを参照する外部キーとして設定します。こうすることで、存在しない部署IDを社員に割り当てることを防いだり、社員が所属する部署の詳細情報を簡単に参照したりできるようになります。二つの名簿を、共通の番号を使って紐づけるようなイメージです。問題文の「他のテーブルの主キーを参照し、関係性を定義する」という説明は、まさに外部キーの機能そのものです。
ア(主キー):
テーブル内の各行(レコード)を重複なく一意に識別するための列です。生徒名簿の「出席番号」のようなものです。
イ(候補キー):
主キーになることができる候補のキーのことです。一つのテーブルに複数存在する場合があります。
ウ(スーパーキー):
レコードを一意に識別できる列の組み合わせです。主キーや候補キーもスーパーキーの一種ですが、余分な列を含む場合もあります。
解法のポイント
データベースのキーに関する問題では、「主キー」と「外部キー」の役割の違いを明確に理解することが最も重要です。
- 主キー:自分のテーブルのレコードを「一意に識別」するためのキー。
- 外部キー:他のテーブルと「関連付け」するためのキー。
このように、それぞれのキーがどのテーブルに対して、どのような目的で設定されるのかを整理して覚えましょう。「他のテーブルを参照」というキーワードがあれば、それは外部キーを指していると判断できます。
用語補足
外部キー:
他のテーブルと繋がるための「連絡先」のようなキーです。注文履歴に「顧客ID」を記録しておけば、顧客名簿と照らし合わせて注文者の詳細が分かります。
リレーショナルデータベース:
データをExcelのような行と列からなる表(テーブル)形式で管理し、テーブル同士を関連付けて扱うデータベースです。
主キー:
テーブル内でデータを特定するための「背番号」や「マイナンバー」のような、絶対に重複しないユニークな識別子です。
候補キー:
主キーになることができる「候補者」のキーです。例えば社員情報では、「社員番号」も「マイナンバー」も個人を特定できるため、どちらも候補キーとなります。


