[英]Creating a relationship between two tables without using a Primary Key
我正在寻找在SSMS中的菜单表和WinePrice表之间的关系。 我试图通过链接表(MenuContents)做到这一点。 但是我无法弄清MenuContents表中的MenuContentsId(因为它不是唯一的)和Menu表中的MenuContentsId之间的关系。 为了使情况更清楚,我将其他桌子放在图片之外。
Menu: WinePrice: MenuContents:
MenuId(PK) WinePriceId(PK) MenuContentsId
PubId WineId WinePriceId
MenuContentsId Size
MenuName Price
想法是,菜单可以包含同一葡萄酒的多种变体(基于其价格和大小),每种变体由WinePriceId标识,后者与另一个未显示的表格中的特定葡萄酒相关。 我不能将MenuContentsId设置为PK,因为许多MenuContentsIds将具有许多WinePriceIds。
对我来说,您似乎想要一个菜单上放很多葡萄酒。 许多葡萄酒可以存在于许多菜单中。
链接表是正确的,您要做的就是将MenuContents的PK设置为两个字段的组合。 这样,只要MenuContents :: WindPriceId不同,任何MenucContents :: MenuId字段都可能出现多次。
这意味着相同的WindPriceId可以针对多个MenuId出现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.