簡體   English   中英

在不使用主鍵的情況下在兩個表之間創建關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM