我只是想爲餐廳創建一個簡單的預訂系統。我目前有5張桌子。數據庫設計。每張桌子都應該與關係鏈接
會員--->預訂< ---獨家夜
菜單--->菜
上面顯示它們彼此的關係。因此,客戶可以進行許多預訂,並且許多預訂僅限一個晚上。
但是我有那些其他兩個表和底部菜單和菜,一個菜單有很多菜。
雖然會員和非會員可以查看菜單,但我不確定他們如何通過外鍵加入,或加入。
所以我的問題是,有沒有兩個表沒有鏈接到數據庫的其餘部分是錯誤的/不鼓勵?
感謝您的幫助。
我只是想爲餐廳創建一個簡單的預訂系統。我目前有5張桌子。數據庫設計。每張桌子都應該與關係鏈接
會員--->預訂< ---獨家夜
菜單--->菜
上面顯示它們彼此的關係。因此,客戶可以進行許多預訂,並且許多預訂僅限一個晚上。
但是我有那些其他兩個表和底部菜單和菜,一個菜單有很多菜。
雖然會員和非會員可以查看菜單,但我不確定他們如何通過外鍵加入,或加入。
所以我的問題是,有沒有兩個表沒有鏈接到數據庫的其餘部分是錯誤的/不鼓勵?
感謝您的幫助。
鏈接數據與關聯意味着約束數據具有與關聯一致的值。
如果您必須表示成員和菜單之間的關聯(如果您可以用應用程序上下文特定的詞來表達它,並且需要爲了應用程序邏輯的目的來表示它),那麼您將設計該關聯,然後通過向表中添加一列(例如菜單表中的成員的外鍵)來減少此關聯,並添加一個constranint以確保FK中的數據與PK中的數據相符,並且如果需要,您將添加REFERENTIAL INTEGRITY 。
這是你的選擇,你不要必須。
在數據庫設計中,你應該首先問自己,如果你需要。
這是你了。它們被稱爲限制因爲你限制了可能的輸入。
因此,舉例來說,如果
菜單是菜單ID,菜單名稱,DishId和菜是DishId,DishName,它是完美的reasonal說,菜單上的所有菜必須存在於菜表,所以你最好把菜單上的外鍵約束。
物像加入菜單菜品
後打印一出雞蛋炒飯,而不是42
找到所有這對菠菜的牀廚師的特殊屋頂RABIT菜單。
從不出現在菜單上的所有菜餚。
是你可能想要的所有東西,但是你所吃的東西並不是菜單上的一道菜'你一無所知。
關係是機制,約束是原因。