我希望在菜单表和WinePrice表之间的SSMS中创建关系。我试图通过链接表(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。
答案 0 :(得分:0)
对我而言,您似乎想要一个菜单上有很多葡萄酒。许多葡萄酒可以存在于许多菜单中。
链接表是正确的,您需要做的就是使MenuContents的PK成为两个字段的组合。这样,只要MenuContents :: WindPriceId不同,任何MenucContents :: MenuId字段都可能出现很多次。
这意味着可以针对多个MenuId显示相同的WindPriceId。