【发布时间】:2020-02-04 05:21:02
【问题描述】:
tArticle 和tCustomer 这两个表之间存在 m:n 关系。每当客户购买商品时,商品和客户之间的链接就会存储在第三个表中,其中包含包含客户购买金额的附加属性。
tArticle:
kArticle | title | stock
---------+-------+------
1 | Water | 39
2 | Apple | 14
tCustomer:
kCustomer | surname | firstName
----------+---------+----------
1 | Muller | Max
2 | Meier | Tom
tCustomer_tArticle:
kCustomer | kArticle | number
----------+----------+---------
1 | 2 | 2
2 | 2 | 5
2 | 2 | 3
我知道强烈建议您使用组合外键作为主键。但是因为同一个客户可以两次购买同一篇文章,这将不再是唯一的。
现在我的问题是我需要在第三个表中添加一个AUTO_INCREMENT 主键还是应该使用物理顺序来获得唯一记录。
我的第二个问题是,是否有办法在实体关系图中指定 m:n 关系中的链接是否可能出现两次。
【问题讨论】:
-
请在每个帖子中问一个问题,并且请不要问重复的问题,正如人们所预料的那样,这些都是重复的。
-
我认为您应该将此表重命名为 Orders 并添加 auto_increment 主键 - id,这样您的数据库中就可以有另一个需要使用 order_id 的表。
标签: database-design entity-relationship entity-relationship-model