实体 - 关系图冗余:商店,产品,订单,类别

时间:2017-10-12 23:27:52

标签: mysql database normalization entity-relationship database-normalization

我正在尝试设计一个允许用户成为单个帐户的买家和卖家的模型,但有些老师告诉我这个图表是错误的,因为它有冗余。

我已经查看了图表,但我还没有找到解决此冗余问题的方法。在表orders中我需要知道谁是买家,因此我没有从表中删除它。一些想法?

enter image description here

2 个答案:

答案 0 :(得分:4)

唯一的事情是"多余"你的计划中没有准确的标准化是这样的:

link table

你不需要制作一个特殊的ID,复合PK就足够了。

-------------------
|   ORDERPRODUCT  |
-------------------
| PK | PRODUCT_ID |
| PK | ORDER_ID   |
-------------------

ADD CONSTRAINT pk 
PRIMARY KEY (PRODUCT_ID, ORDER_ID);

答案 1 :(得分:0)

除了@Blag所说的,对于Categories,你有2个字段可能会做同样的事情:categorynamedescription。您已经拥有PK_IdCategory的标识符,因此其中一个可能是不必要的