関係モデルにおいて, 情報無損失分解ができ, かつ, 関数従属性保存が成り立つ変換が必ず存在するものはどれか。ここで, 情報無損失分解とは自然結合によって元の関係が必ず得られる分解をいう。
ア:第2正規形から第3正規形への変換(正解)
イ:第3正規形からボイスコッド正規形への変換
ウ:非正規形から第1正規形への変換
エ:ボイスコッド正規形から第4正規形への変換
解説
情報無損失分解および関数従属性保存についての解説
問題のポイント
-
関係モデルの分解において
- 情報無損失分解(Lossless-Join Decomposition)
- 関数従属性保存(Dependency Preservation)が 同時に成り立つ変換が存在する条件は?
-
情報無損失分解とは、分解された複数の関係を自然結合(ナチュラルジョイン)すると元の関係が必ず復元できることを指します。
-
関数従属性保存とは、分解後の各関係に分割された関数従属性の集合が元の関数従属性の意味を失わずに保持していることです。
正規形の簡単な復習
選択肢の検討
-
ア: 第2正規形から第3正規形への変換
- 第2正規形で存在する推移的関数従属を除去する過程での分解は、
- 情報無損失分解が保証される
- 関数従属性も保存される場合が多い
- そのため、2NF→3NF変換は 情報無損失かつ関数従属性保存が成り立つことが保証されている。
- 第2正規形で存在する推移的関数従属を除去する過程での分解は、
-
イ: 第3正規形からボイスコッド正規形への変換
- 3NFは関数従属性保存を保証するが、BCNFは「すべての決定子が候補キーでなければならない」という厳しい条件。
- BCNFへの分解は情報無損失は保証されるものの、
- 関数従属性保存は必ずしも保証されない。
- よって、この変換で関数従属性の保存は必ずしも成り立たない。
-
ウ: 非正規形から第1正規形への変換
- 非正規形とは、原子値の制約がない状態。1NFでは原子属性にするための変換だが、
- この段階の変換は情報無損失かつ関数従属性保存の観点での保証はあまり強調されない。
-
エ: ボイスコッド正規形から第4正規形への変換
- 4NFは多値従属を排除するための正規形。
- 多値従属の分解は情報無損失を保証するが、関数従属性の保存については条件付き。
- 必ずしも関数従属性保存が保証されるわけではない。
まとめ
- 情報無損失かつ関数従属性保存を同時に保証する変換が必ず存在するものは、
第2正規形から第3正規形への変換(選択肢ア)である。
数式的理解(補足)
-
自然結合で情報無損失分解:分解後の関係 (R_1, R_2) に対し
-
関数従属性保存:分解後の各関係の関数従属性 (F_1, F_2) の合併から元の関数従属性 (F) が推論可能。
-
2NF→3NFの変換において、この両条件が成り立ち、なおかつ元の関係の依存関係が保存されることが理論的に証明されている。
まとめ
正解は「ア: 第2正規形から第3正規形への変換」
この段階の正規化は、情報の損失なく分解可能であり、元の関数従属性も保存されるため、データの整合性と再利用性が保たれる一番基本的な変換となります。