問題本文
関係データベースの主キーに関する記述のうち、適切なものはどれか。
選択肢
- ア.各表は、主キーだけで関係付ける。
- イ.主キーの値として、同一のものがあってもよい。
- ウ.主キーの値として、NULLをもつことができない。
- エ.複数の列を組み合わせて主キーにすることはできない。
正解
ウ. 主キーの値として、NULLをもつことができない。
解説
関係データベースの主キー(primary key)は表中のレコードを一意に識別する列で,(1)NULL値を持てない(NOT NULL,一意識別が成立しない),(2)同一値を持てない(一意性が保証される),(3)複数列を組み合わせた複合主キー(composite key)も設定可能,(4)他表との関連付けには主キーを参照する外部キー(foreign key)を使うという性質を持つ. 主キーで直接関係付けるのではなく外部キーが参照する形になり,リレーショナルモデルの基本概念となる. 主キーは整合性制約の中核であり,データベース設計の最重要要素の一つ.
選択肢ごとの解説
- ア.誤り. 表間の関係付けは主キーで直接行うのではなく,別表の主キーを参照する外部キー(foreign key)を介して行うため,この記述は誤り. 主キー単独で関係付けはせず,参照側に外部キーを設置する仕組みである. この用語の正確な定義と他選択肢との明確な区別を押さえることが理解の要点
- イ.誤り. 主キーは行を一意に識別するため,同一値を持つことは許されない. 一意性制約があり同じ値の重複は禁止される基本ルールであり,リレーショナルデータベースの整合性確保の核心となる制約である. この用語の正確な定義と他選択肢との明確な区別を押さえることが理解の要点
- ウ.正しい. 主キーはNULL値を持てない(一意識別が成立しない)のが原則のため. NOT NULL制約と一意性制約の両方が課されるのが主キーの定義であり,リレーショナルモデルの基礎をなす重要な性質である. この用語の正確な定義と他選択肢との明確な区別を押さえることが理解の要点
- エ.誤り. 複数列を組み合わせた複合主キー(composite primary key)は実際に存在し,関係データベースで広く利用される機能であり,可能である. 単一列だけの制約は誤りで,多列主キーは正規化過程でも頻出する設計形態. この用語の正確な定義と他選択肢との明確な区別を押さえることが理解の要点
ITパスポート 2014年 (平成26年 春期) の過去問一覧へ戻る・問64