誰でもアイテムを売買でき、2 人の登録ユーザーが製品に関して互いにメッセージを送信できる Web サイトがあるとします。私のデータベースの関係の1つは次のとおりです。
Message
--------
idMessage (PK)
Sender
Recipient
idObject
Subject
もちろん、送信者または受信者のいずれかは、製品の販売者または購入者である必要があります。私の質問は、この関係が第 3 正規形であるかどうかです。もちろん、これは第 2 正規形です。これは、すべての非キー カラムが完全に機能的に主キーに依存しているためです。
userB
例:が商品の販売者 (所有者) であり、製品の販売者 (所有者) である#1234
とuserA
しましょう#1000
。次の表があります。
idMessage| Sender| Recipient | idObject| Subject
________________________________________________
1 | userA | userB | #1234 | size
2 | userB | userC | #1234 | discount
3 | userA | userB | #1000 | size
どうやら、idObject
上記の表で製品の販売者を決定します。いずれの場合も、販売者は「差出人」列または「受取人」列に記載されている必要があります。ポイントは、上記の例でわかるように、[送信者] または [受信者] が idObject を特定できないことです。したがって、すべての非キー列は機能的に依存しており、主キーにのみ依存しているため、3NF があります。