0

誰でもアイテムを売買でき、2 人の登録ユーザーが製品に関して互いにメッセージを送信できる Web サイトがあるとします。私のデータベースの関係の1つは次のとおりです。

Message
--------
idMessage (PK)
Sender
Recipient
idObject
Subject

もちろん、送信者または受信者のいずれかは、製品の販売者または購入者である必要があります。私の質問は、この関係が第 3 正規形であるかどうかです。もちろん、これは第 2 正規形です。これは、すべての非キー カラムが完全に機能的に主キーに依存しているためです。

userB例:が商品の販売者 (所有者) であり、製品の販売者 (所有者) である#1234userAしましょう#1000。次の表があります。

idMessage| Sender| Recipient | idObject| Subject
________________________________________________
    1    | userA |   userB   | #1234   | size  
    2    | userB |   userC   | #1234   | discount
    3    | userA |   userB   | #1000   | size

どうやら、idObject上記の表で製品の販売者を決定します。いずれの場合も、販売者は「差出人」列または「受取人」列に記載されている必要があります。ポイントは、上記の例でわかるように、[送信者] または [受信者] が idObject を特定できないことです。したがって、すべての非キー列は機能的に依存しており、主キーにのみ依存しているため、3NF があります。

4

2 に答える 2

1

では、問題は、推移的な機能依存関係があるかどうかということです。答えが「はい」の場合、これは 3NF ではありません。

属性を完全に理解しているかどうかはわかりませんidObjectが、[idMessage] が [受信者] または [送信者] を介して [idObject] を決定する場合、推移的な機能依存関係があるため、これは3NF ではありません。[idObject] が [idMessage] 属性によって決定される場合、すべての非キー属性は主キー [idMessage] のみに依存して完全に機能し、これ3NF になります。

idObjectWhat is ?について説明を追加したい場合があります。お役に立てれば。

于 2016-10-24T21:28:22.530 に答える