
保存」(118ページ)で説明したように、正規化は必ず可逆的な操作でなければな
りません。ボイス-コッド正規形への変換時は、気をつけないとこうした非可逆な
分解を行なってしまう危険があります。
37
この原因は、「チームコード」をキーにした結合が、「多対多」の関連になってし
まったからです。正規化は常に「1対多」の関連を生むようにテーブルを分割する
必要があります。この「1対多」「多対多」という関連の種類については、次章で
詳しく見ます。
000A 001 123W
000B 001 456Z
000B 002 003O
001F 001 123W
001F 002 003O
003O 002 999Y
それでは、正しい分解の仕方とはどのようなものでしょうか?
先ほどの失敗は、元のテーブル(上記)に存在していた以下の関数従属性を失っ
たために起きたことでした。
→
したがって、この関数従属性を保存することで、可逆的な分解が可能になります。
3
128