第 3 正規形への分解
出典: 平成28年度 春期 応用情報技術者試験 午前 問27 (IPA)
関数従属を次のように表記するとき,属性 a~e で構成される関係を第 3 正規形にしたものはどれか。
〔関数従属〕
(1) 属性 X の値が与えられると,属性 Y の値を一意に決めることができる。
(2) 属性 X と属性 Y の二つの値が与えられると,属性 Z の値を一意に決めることができる。
〔正規化する関係〕


- ア

- イ

- ウ

- エ

正解と解説を見る
正解: エ
- ア: (a, b, c, d) には、推移的関数従属 a → b → c が残っています。
- イ: (b, c) を分けたのに (a, b, c, d) に c が残っていて、推移的関数従属 a → b → c が解消されていません。
- ウ: (b, d, c, e) では、主キー {b, d} の一部である b だけで c が決まる部分関数従属が残っています。
- エ: (a, b, d)、(b, c)、(b, d, e) に分けると推移的関数従属がなくなるので正しい答えです。
ポイント
図から関数従属を読み取ります。
- a → b、a → c、a → d (a が主キー)
- b → c
- {b, d} → e
c と e は、主キー a から b や {b, d} を経由して決まる 推移的関数従属 です。第 3 正規形では、これを別の関係に分けます。
- b → c を分けて (b, c)
- {b, d} → e を分けて (b, d, e)
- 残りは (a, b, d)