ER图中Order与Product的Cardinality:应选1:N还是N:M?
Order与Product实体的ER图基数选择
应该设置为N:M(多对多),而非你给出的1:N示例。
原因如下:
- 你提到每个Order可包含1个或多个Product,但反过来,同一件Product完全可以被多个不同的Order纳入(比如同一款商品被不同客户下单购买)。
- 1:N关系仅适用于“一个Order对应多个Product,但一个Product只能归属于一个Order”的特殊场景,这不符合常规订单业务的逻辑。
- 正确的关联关系应为:
[Order]--N--includes--M--[Product],对应的业务规则:- 每个Order至少包含1个Product,最多可包含多个
- 每个Product可以被0个或多个Order包含
内容的提问来源于stack exchange,提问作者MartinLo
相关产品推荐
相关产品推荐

