関係モデルにおいて、情報無損失分解ができ、かつ、関数従属性保存が成り立つ変換が必ず存在するものはどれか。ここで、情報無損失分解とは自然結合によって元の関係が復元できる分解をいう。
ア:第2正規形から第3正規形への変換(正解)
イ:第3正規形からボイス・コッド正規形への変換
ウ:非正規形から第1正規形への変換
エ:ボイス・コッド正規形から第4正規形への変換
解説
解説:情報無損失分解と関数従属性保存が成り立つ変換について
関係モデルの正規化において、重要な性質に「情報無損失分解」と「関数従属性保存」があります。これらは、データの整合性と効率的な管理を保ちつつ、冗長性の解消を目指すための基準です。
1. 用語の説明
情報無損失分解(Lossless-Join Decomposition)
ある関係スキーマ(表)を複数の関係に分解したとき、それらの部分関係の自然結合(JOIN)によって元の関係が完全に復元できる性質のこと。復元できない分解は、情報の欠落を招くため望ましくありません。
関数従属性保存(Dependency Preservation)
分解後の関係全ての関数従属性の集合が、元の関数従属性をすべて保持できること。これにより、分解後の関係だけで元の関数従属性を検査・利用可能です。
2. 各選択肢の説明
ア: 第2正規形(2NF)から第3正規形(3NF)への変換
- 第2正規形は「部分関数従属性を排除」した正規形。
- 第3正規形は「推移的関数従属性(非キー属性間の従属性)を排除」したもの。
- この段階の変換では、一つのキーを持つ関係の分解であれば、情報無損失分解が常に可能で、さらに関数従属性も保存可能です。
- つまり、2NFから3NFへの変換では、理論的に「無損失分解かつ関数従属性保存型の分解が必ず存在する」と保証されています。
イ: 第3正規形からボイス・コッド正規形(BCNF)への変換
- BCNFは3NFよりも厳しい条件で主キー以外の属性に関する関数従属性を排除します。
- BCNFへの分解は「情報無損失分解」は常に可能ですが、
- 関数従属性を必ず保存できるとは限りません。
- つまり、BCNFへの分解で関数従属性が失われる可能性があり(再補完が必要)、関数従属性保存を保証しません。
ウ: 非正規形から第1正規形への変換
- 非正規形から第1正規形への変換は、表の基本的条件である「原子性を満たす」ための変換。
- 単にデータ形式の正規化であり、正規化理論で重要視される関数従属性とは異質な変換。
- 情報無損失や関数従属性保存の議論対象には通常ならず、この観点では該当しません。
エ: ボイス・コッド正規形から第4正規形(4NF)への変換
- 4NFは多値従属性(MVD)に着目した正規化。
- この変換も「情報無損失分解」は可能ですが、
- 多値従属性の保存・管理の性質から、関数従属性保存が必ず保証されるわけではありません。
3. まとめ
4. 結論
問題文の条件「情報無損失分解ができ、かつ関数従属性保存が成り立つ変換が必ず存在する」ものは、
「第2正規形から第3正規形への変換」 (選択肢ア)
となります。
参考文献
- データベース実践入門(関係データモデルと正規化)
- Codd, E.F. (1972). Relational Completeness of Data Base Sublanguage
- Elmasri & Navathe, Fundamentals of Database Systems
以上で解説を終わります。