私はユーザーが単一のアカウントでバイヤーと売り手になるモデルを設計しようとしていますが、この図は間違っている冗長性を持っています。エンティティリレーションシップダイアグラム冗長性:店舗、製品、受注、カテゴリ
私はこの図を見直しましたが、この冗長性を解決する方法は見つかりませんでした。テーブルorders
私は誰が買い手であるか知る必要があるので、この理由から私はテーブルからこれを削除しませんでした。いくつかのアイデア?
私はユーザーが単一のアカウントでバイヤーと売り手になるモデルを設計しようとしていますが、この図は間違っている冗長性を持っています。エンティティリレーションシップダイアグラム冗長性:店舗、製品、受注、カテゴリ
私はこの図を見直しましたが、この冗長性を解決する方法は見つかりませんでした。テーブルorders
私は誰が買い手であるか知る必要があるので、この理由から私はテーブルからこれを削除しませんでした。いくつかのアイデア?
あなたのスキームで(正確には正規化されていない)、「冗長」だけの事はこれです:
あなたは特別なIDを作成する必要はありません、複合PKで十分です。 @Blagが言ったことの上に
-------------------
| ORDERPRODUCT |
-------------------
| PK | PRODUCT_ID |
| PK | ORDER_ID |
-------------------
ADD CONSTRAINT pk
PRIMARY KEY (PRODUCT_ID, ORDER_ID);
IDは、1NF以上の正規化とは関係ありません。 – philipxy
、Categories
のために、あなたは同じことを行う可能性がある2つのフィールドがあります。categoryname
とdescription
を。あなたはすでにPK_IdCategory
という識別子を持っているので、それらの1つは不要かもしれません。
この図にはユーザーがいません。 'Orders.buyer'と' Product.seller'はどちらもTBL_storeを参照していますか?このように、企業間の販売モデルはありますか?そこに冗長性は見られません。どの部分に冗長性があるかを明確にするよう教師に依頼するか、冗長性のために発生する可能性のある異常を記述することができます。 –
はい、bからbです。ご意見ありがとうございます。 – AndresChika
あなたの質問とは無関係ですが、「Product」と「OrderProduct」に数量を追加することもできます。商品に2つ以上の「売り手」が存在する場合 –