10/07/08 12:20:56 .net
>>254
普通に第二正規形ではない。例えばリレーションpersonが以下の
ようであるとして、
person(person_id, name, gender, shumi_id)
で仮に一人の人が複数の趣味を持つとすると、このリレーション
の候補キーは(person_id, shumi_id)になる。
でもnameやgender(性別)といった非キー属性はperson_idにだけ
関係従属する。
person_id -> name
person_id -> gender
テーブルの候補キーに完全関数従属していないので非第二正規形。
これを第二正規形にするには、部分従属する非キー属性nameと
genderを別のリレーションに分ける。
person(person_id, shumi_id) 候補キーperson_id, shumi_id
person2(person_id, name, gender) 候補キーperson_id
まぁ実際は後者のリレーション名をpersonにして前者は
person_shumiとかにすると思うけれどもね。