データベース設計(全64問中1問目)

関係モデルにおける外部キーの説明として,適切なものはどれか。

出典:令和5年秋期 問27

  • ある関係の候補キーを参照する属性,又は属性の組
  • 主キー以外で,タプルを一意に識別できる属性,又は属性の組
  • タプルを一意に識別できる属性,又は属性の組の集合のうち極小のもの
  • タプルを一意に識別できる属性,又は属性の組を含む集合
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:データベース設計
解説
関係モデルの用語と関係データベースの要素は、次のように対応します。
27_1.gif
関係モデルでは正規化の過程で表を複数に分割しますが、分割の際に2つの表に同じ属性を持たせることで表同士の関連付けを行います。共通する属性のうち、参照される側の属性が主キー(primary key)、参照する側の属性が外部キー(foreign key)となります。外部キーは、下図のようにある関係の候補キー(主キー)を参照する役割を持ちます。

したがって「ア」の説明が適切です。
27_2.gif
  • 正しい。外部キーの説明です。
  • 代理キー(alternate key)の説明です。たとえば、従業員表に属性"社員番号"と属性"運転免許証番号"がある場合、どちらも行を一意に識別できるため主キーにすることができます。このような場合、"社員番号"を主キーにすると"運転免許証番号"が代理キーとなります。逆もまたしかりです。
  • 候補キー(candidate key)の説明です。主キーの候補となる属性または属性の組なので、候補キーと呼ばれます。たとえば、(社員番号,氏名,生年月日)という関係がある場合、"社員番号"が候補キーとなります。
  • スーパーキー(super key)の説明です。データベース内の行を一意に識別できるという点は候補キーと同じですが、"極小"という条件を除いたものです。たとえば、(社員番号,氏名,生年月日)という関係がある場合、{社員番号, 氏名}や{社員番号,生年月日}の組は行を一意に識別可能ですが、余分な属性を含んでいる(極小ではない)のでスーパーキーとなります。

Pagetop