問66
頻出度★★★
関係データベースにおいて, 主キーを設定する理由はどれか。
この問題の解説と、これまでの解答の記録です。
関係データベースにおいて, 主キーを設定する理由はどれか。
主キーを設定する目的はレコードの一意識別であり、その列が算術演算の対象になるかどうかとは無関係。主キーが数値型の列なら演算自体は可能であり、主キー設定によって演算対象外になるわけではない。
検索は主キーを設定しなくても任意の列を条件にして行える(検索可否は主キーの有無に依存しない)。主キーを設定したから検索できるようになる、という説明は誤り。
主キーはむしろ他の表から外部キー(foreign key)によって参照される基点となる列であり、他表からの参照を「防止」するものではない。説明が主キーの役割と逆になっている。
正解 主キー(primary key)は、関係データベースの表(テーブル)において各レコード(行)を一意に識別するために設定する。主キーに指定した列(または複数列の組)の値は表の中で重複せず、空値(NULL)も許されない。そのため、主キーの値さえ分かれば目的のレコードをただ一つに特定できる。したがって「表中のレコードを一意に識別できるようになる」と述べたエが正しい。