第 3 正規形
関係データベースにおける第 3 正規形の説明として,適切なものはどれか。
- ア全ての属性の値が単一の値であり,繰返しグループを含まない。
- イ第 2 正規形であり,主キー以外の全ての属性が主キーに推移的に関数従属していない。
- ウ第 1 正規形であり,主キー以外の全ての属性が主キーの一部ではなく主キー全体に関数従属している。
- エ外部キーの値が,参照先の表の主キーの値として必ず存在する。
正解と解説を見る
正解 イ
この問題の基礎知識
- 関数従属とは,属性 X の値が決まると属性 Y の値が一つに決まる関係であり,X→Y と表す。
- 第 1 正規形は繰返しグループを排除して全ての属性値を単一値にした状態である。第 2 正規形は第 1 正規形であって,非キー属性が主キーの一部に従属する部分関数従属を排除した状態である。
- 推移的関数従属とは,主キー→非キー属性 A→非キー属性 B のように,非キー属性が他の非キー属性を介して主キーに従属することである。
- 正規化は更新時の異常を防ぐための表の分解であり,外部キーの値が参照先の主キーに存在することを求める参照整合性制約とは別の概念である。
ア全ての属性の値が単一の値であり,繰返しグループを含まない。
繰返しグループを排除し,属性値を単一値にした状態は第 1 正規形の条件である。第 3 正規形の説明としては不十分である。
イ第 2 正規形であり,主キー以外の全ての属性が主キーに推移的に関数従属していない。正解
第 3 正規形は,第 2 正規形の条件を満たした上で,非キー属性が他の非キー属性を介して主キーに関数従属する推移的関数従属を排除した状態である。
ウ第 1 正規形であり,主キー以外の全ての属性が主キーの一部ではなく主キー全体に関数従属している。
部分関数従属を排除し,非キー属性が主キーに完全関数従属している状態は第 2 正規形の条件である。
エ外部キーの値が,参照先の表の主キーの値として必ず存在する。
参照整合性制約の説明であり,正規形の条件ではない。外部キーの値が NULL の場合を許すかどうかも設計による。
検証用の出典出典照合済み
Codd, E. F. Further Normalization of the Data Base Relational Model (1971) / FIPS PUB 184 Integration Definition for Information Modeling (IDEF1X)照合の根拠(4 件)
- イ(正解): 第 3 正規形は第 2 正規形であり,主キーに含まれない全ての属性が主キーに推移的に従属しない
Third Normal Form (3NF) - An entity is in 3NF if and only if it is in 2NF and every attribute that is not a part of the primary key is non-transitively dependent (mutually independent) on the primary key.
FIPS PUB 184 (IDEF1X) · 2.43 Normal Form (c)(新しいタブで開きます) - ア(誤り): 全ての値が単一(原子的)であることは第 1 正規形の条件
First Normal Form (INF) - An entity is in INF if and only if all underlying simple domains contain atomic values only.
FIPS PUB 184 (IDEF1X) · 2.43 Normal Form (a)(新しいタブで開きます) - ウ(誤り): 第 1 正規形かつ非キー属性が主キーに完全従属することは第 2 正規形の条件
Second Normal Form (2NF) - An entity is in 2NF if and only if it is in INF and every non-key attribute is fully dependent on the primary key.
FIPS PUB 184 (IDEF1X) · 2.43 Normal Form (b)(新しいタブで開きます) - エ(誤り): 外部キーの値が参照先の主キーの値と一致することは外部キー(参照整合性)の説明であり,正規形の定義(2.43)には含まれない
Key, Foreign: An attribute, or combination of attributes of a child or category entity instance whose values match those in the primary key of a related parent or generic entity instance.
FIPS PUB 184 (IDEF1X) · 2.38 Key, Foreign(新しいタブで開きます)
FIPS PUB 184(IDEF1X,nvlpubs.nist.gov)の用語定義で確認した。PDF のテキスト化で「1NF」が「INF」と読み取られているため,引用はキャッシュの表記のまま。