問題本文
関係データベースにおける外部キーに関する記述のうち,適切なものはどれか。
選択肢
- ア.外部キーがもつ特性を,一意性制約という。
- イ.外部キーを設定したフィールドには,重複する値を設定することはできない。
- ウ.一つの表に複数の外部キーを設定することができる。
- エ.複数のフィールドを,まとめて一つの外部キーとして設定することはできない。
正解
ウ. 一つの表に複数の外部キーを設定することができる。
解説
関係データベースの外部キー(Foreign Key)は,ある表の列が別の表の主キーや一意キーを参照することで,表間のリレーション(関係)を定義し,参照整合性を保証する仕組みである。1つの表が複数の表を参照する場合,複数の外部キーを設定できる。また複数列をまとめた複合外部キーも可能。正解はウ。
選択肢ごとの解説
- ア.一意性制約(Unique Constraint)はその列に重複する値を持てないという制約であり,主キーや候補キーに設定する。外部キーの中心的な特性は「参照整合性制約(Referential Integrity Constraint)」であり,参照先の表に対応する値が存在することを保証する。
- イ.外部キー列には同じ値が複数行に現れることが当然あり得る。例えば「注文.顧客ID」が外部キーの場合,同じ顧客IDを複数の注文行が参照するのが通常の設計である。重複を許さないのは主キーや一意制約のある列。
- ウ.1つの表が複数の別の表を参照する場合,それぞれの参照列に外部キーを設定するため,1つの表に複数の外部キーを定義できる。例えば「受注明細」が「受注ヘッダ」と「商品マスタ」の両方を参照する場合が典型例。正解。
- エ.複数のフィールドをまとめて1つの外部キー(複合外部キー)として設定することは可能である。例えば参照先の主キーが複合キーの場合,外部キーも同じ構成の複数フィールドをまとめて定義する。単一フィールドに限られるという制限はない。
ITパスポート 2017年 (平成29年 秋期) の過去問一覧へ戻る・問88