問78
頻出度★★★
関係データベースの主キーの設定に関する記述として, 適切なものだけを全て挙げたものはどれか。 a 値が他のレコードと重複するものは主キーとして使用できない。 b インデックスとの重複設定はできない。 c 主キーの値は数値でなければならない。 d 複数のフィールドを使って主キーを構成できる。
この問題の解説と、これまでの解答の記録です。
関係データベースの主キーの設定に関する記述として, 適切なものだけを全て挙げたものはどれか。 a 値が他のレコードと重複するものは主キーとして使用できない。 b インデックスとの重複設定はできない。 c 主キーの値は数値でなければならない。 d 複数のフィールドを使って主キーを構成できる。
a は正しいが、c「主キーの値は数値でなければならない」が誤り。主キーには文字列(社員コードや商品コードなど)も使え、一意でさえあれば値の型は数値に限定されない。誤りの c を含むため不適切。
正解 正解は「イ」(a, d)。主キーは「行(レコード)を一意に識別する」ための列なので、a のとおり他のレコードと値が重複するものは主キーにできない(一意性制約)。また d のとおり、1 つの列だけでは一意にできない場合に複数のフィールドを組み合わせて主キーにすることができ、これを複合主キー(連結キー)と呼ぶ。よって正しい記述は a と d の二つで、その組合せである「イ」が答えとなる。
b「インデックスとの重複設定はできない」も c「数値でなければならない」も誤り。実際には主キーを設定すると一意性確保のため自動的にインデックスが作られ、両者は両立する。二つとも誤った記述なので不適切。
d は正しいが、b「インデックスとの重複設定はできない」が誤り。主キーはインデックスと共存でき、むしろ主キー指定により内部的にインデックスが構成される。誤りの b を含むため不適切。