2016-04-30 100 views
0

我正在尋找在菜單表和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。

+1

任何可以阻止你在MenuContents表中添加'MenuId'的列? – freakyhat

+0

看起來你不需要'MenuContentsId' –

+0

感謝您的回覆,我想過 - 但是這不需要我爲每個WinePriceId使用相同的MenuId和相同的MenuContentsId?或者你是說換用MenuId換MenuContentsId? – Nick

回答

0

對我來說,它看起來像你想要一個菜單​​有很多葡萄酒。許多菜單中都可以存在許多葡萄酒。

鏈接表是正確的,你所需要做的就是讓MenuContents的PK成爲兩個字段的組合。這樣,任何MenucContents :: MenuId字段可能會出現多次,只要MenuContents :: WindPriceId不同。

而這意味着相同的WindPriceId可能出現在多個MenuIds上。

相關問題