2012-02-07 39 views
1

我只是想爲餐廳創建一個簡單的預訂系統。我目前有5張桌子。數據庫設計。每張桌子都應該與關係鏈接

會員--->預訂< ---獨家夜

菜單--->菜

上面顯示它們彼此的關係。因此,客戶可以進行許多預訂,並且許多預訂僅限一個晚上。

但是我有那些其他兩個表和底部菜單和菜,一個菜單有很多菜。

雖然會員和非會員可以查看菜單,但我不確定他們如何通過外鍵加入,或加入。

所以我的問題是,有沒有兩個表沒有鏈接到數據庫的其餘部分是錯誤的/不鼓勵?

感謝您的幫助。

回答

1

鏈接數據與關聯意味着約束數據具有與關聯一致的值。

如果您必須表示成員和菜單之間的關聯(如果您可以用應用程序上下文特定的詞來表達它,並且需要爲了應用程序邏輯的目的來表示它),那麼您將設計該關聯,然後通過向表中添加一列(例如菜單表中的成員的外鍵)來減少此關聯,並添加一個constranint以確保FK中的數據與PK中的數據相符,並且如果需要,您將添加REFERENTIAL INTEGRITY 。

這是你的選擇,你不要必須

在數據庫設計中,你應該首先問自己,如果你需要

0

這是你了。它們被稱爲限制因爲你限制了可能的輸入。

因此,舉例來說,如果

菜單是菜單ID,菜單名稱,DishId和菜是DishId,DishName,它是完美的reasonal說,菜單上的所有菜必須存在於菜表,所以你最好把菜單上的外鍵約束。

物像加入菜單菜品

後打印一出雞蛋炒飯,而不是42

找到所有這對菠菜的牀廚師的特殊屋頂RABIT菜單。

從不出現在菜單上的所有菜餚。

是你可能想要的所有東西,但是你所吃的東西並不是菜單上的一道菜'你一無所知。

關係是機制,約束是原因。