データベース|平成29年度 秋期 ITパスポート試験(特別措置試験) 問88
関係データベースにおける外部キーに関する記述のうち,適切なものはどれか。
- 外部キーがもつ特性を,一意性制約という。
- 外部キーを設定したフィールドには,重複する値を設定することはできない。
- ✓ これが正解一つの表に複数の外部キーを設定することができる。
- 複数のフィールドを,まとめて一つの外部キーとして設定することはできない。
解説
他の表を指す列のことで、一つの表に何本でも置けます。
関係データベースでは、意味のまとまりごとに表を分け、必要なときに共通の列でつなぎ直して使います。このとき、他の表の行を指し示すために置く列が外部キーです。たとえば売上の表に商品コードと担当者コードを置けば、それぞれ商品の表と社員の表を指せます。つまり、一つの表が複数の別の表を指すことは普通にあるので、外部キーは何本でも置けます。また、同じ商品が何度も売れれば、同じ商品コードが何行にも現れます。だから、外部キーの列に同じ値が並ぶことも当たり前です。重ならないことを求められるのは、行を一つに決めるために置く主キーのほうです。指し示す先が複数の列で決まる場合には、外部キーも複数の列をまとめて一つとして置けます。指し示す先の行が存在することを求める仕組みも、外部キーに合わせて置けます。
ほかの選択肢はなぜ違うのか
- 外部キーがもつ特性を、値が重ならないことを求める制約だとした肢です。重ならないことを求めるのは、行を一つに決める側の列です。指し示す側の列は、同じ値が並んでもかまいません。重ならないことを求めるのは主キーのほうです。
- 外部キーを設定した列には、重複する値を設定できないという肢です。同じ相手を何度も指すのはごく普通のことなので、同じ値が何行にも並びます。重複を禁じてしまうと使えません。同じ相手を何度も指すので、同じ値が並びます。
- 複数の列をまとめて一つの外部キーにはできないという肢です。指し示す先の行が複数の列の組で決まっているなら、指す側も同じ組で持つ必要があります。まとめて置くことはできます。指す先が複数の列なら、指す側もまとめて持てます。
この問題に関係する言葉
- 外部キー
- 主キー
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。設計に使うE-R図は、この形での実装を前提にしません。
- 表
出典:平成29年度 秋期 ITパスポート試験(特別措置試験) 問88
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)