当设计一个多对多关系的表时,1侧的主键将到达中间表的[M]侧,我当前的中间表是
Salesline : Itemid(PK), SOId(PK), userid(PK)
或
Salesline : Itemid(PK), SOId(PK),
userid_salesorder(PK) , // links to the salesorder.userid attribute
userid_item(PK) // links to the item.userid attribute
哪种方法正确?
答案 0 :(得分:1)
看起来你的实体之间的自然现实是:
我建议打破用户和项目表之间的关系,并将订购的特定项目的数量移到SalesLine表格。 User,SalesOrder和Item应该具有简单的,可能是代理的主键。 SalesLine的主键可以是复合键,包含SalesOreder表的外键,以及订单中的行号。