項目間の従属性2

多値従属性

ある項目Xが決定すると、2つ以上の項目Yが自動的に決まること。
例えば、名前、趣味を要素とするテーブルがあった場合、名前=太郎とすると趣味が「読書、音楽鑑賞」など2つ以上出てくるケースを指す。
表記は名前をX、趣味をYとすると X→→Y と記載する。

また、自明でない多値従属性と言われた場合は、項目Xが決まると独立する別の項目、項目Y,項目Zが同時に決まるような場合を指す。表記はX→→Y|Zとする。
ついでに言うと、多値従属性の被決定項が1つの場合が関数従属性である。

結合従属性(情報無損失分解)

リレーションが分解可能でかつ分解したリレーションを自然結合した時に分解前のリレーションを復元できること。
元のリレーションをR、Rの全属性集合をX、分解後のリレーションをR1、R2、…、その全属性集合をX1、X2、…とした場合、以下の関係が成立する。

R = R1 * R2 * …
X = X1 ∪ X2 ∪ …また結合従属性を持つような分解を情報無損失分解という。

関数従属性を持つ場合は結合従属性を持った分解が可能。
十分条件であり必要条件ではない。つまり結合従属性があるリレーションを自然結合しても関数従属性があるとは限らない。)

更新時異常

正規化が不十分である場合に操作を行った場合に発生しえる異常状態のこと。
冗長項目が存在する状態でのレコードの削除、追加などによるNotNull?制約違反、整合性異常などがこれにあたる。

強エンティティと弱エンティティ

エンティティ=テーブルだと思って差し支えない。
テーブルAのレコードが無くなると自動的にテーブルBの関連するレコードも無くなってしまうような関係においてテーブルAを強エンティティ、テーブルBを弱エンティティという。