問51
頻出度★★★
関係データベースの表に設定する主キー, 外部キー及びインデックスのうち, 一つの表に対して複数設定できるものだけを全て挙げたものはどれか。
この問題の解説と、これまでの解答の記録です。
関係データベースの表に設定する主キー, 外部キー及びインデックスのうち, 一つの表に対して複数設定できるものだけを全て挙げたものはどれか。
インデックスが複数設定できる点は正しいが、同じく複数設定できる外部キーが抜けている。設問は「複数設定できるものだけを全て挙げたもの」を求めているので、該当するものを網羅していないアは誤り。
正解 正解はイ「外部キー, インデックス」。関係データベースでは、主キーは表の各行を一意に識別するための鍵であり、1 つの表に対して必ず 1 つだけしか設定できない (複数列をまとめた複合主キーであっても、主キーという設定自体は 1 つ)。これに対し外部キーは、他の表の主キーを参照して関連付けを行うための鍵なので、参照したい相手の表が複数あれば、その数だけ 1 つの表に複数設定できる。インデックスは検索を高速化するための索引で、検索や整列によく使う列ごとに作成できるため、1 つの表に複数作成できる。したがって「複数設定できるものだけを全て挙げた」組合せは、外部キーとインデックスの 2 つとなる。
主キーは行を一意に識別する役割をもつため、1 つの表に設定できるのは 1 つだけであり、複数は設定できない。挙げるべきでないものだけを挙げているので誤り。
外部キーとインデックスは複数設定できるが、主キーを含めている点が誤り。1 つの表に主キーを 2 つ以上置くと行の一意識別ができなくなるため、主キーは複数設定できない。