我只是想为餐厅创建一个简单的预订系统。我现在有5张桌子。
会员--->预订< ---独家之夜
菜单--->菜
上面显示了他们彼此的关系。因此,客户可以进行多次预订,许多预订仅限一晚。
然而,我有另外两张桌子和底部的菜单和菜,一个菜单有很多菜。
虽然会员和非会员可以查看菜单,但我不确定如何通过外键加入或加入。
所以我的问题是,有两个表没有链接到数据库的其他表是错误/沮丧吗?
感谢您的帮助。
答案 0 :(得分:1)
将数据与关联链接意味着约束数据具有符合关联的值。
如果必须表示成员和菜单之间的关联(如果您可以使用特定于应用程序上下文的单词来表达它,并且需要为了应用程序逻辑的目的来表示它),那么您将设计此关联然后减少这种关联为表添加一个列(例如菜单表中成员的外键)并添加一个constranint以确保FK中的数据符合PK中的数据,如果需要,您将添加REFERENTIAL INTEGRITY。
这是你的选择,你没有必须。
在数据库设计中,您首先应该问自己是否需要。
答案 1 :(得分:0)
这是你的意思。它们被称为约束,因为您限制了可能的输入。
例如,如果
菜单是MenuId,MenuName,DishId和Dishes是DishId,DishName,它是完美的理由说菜单上的所有菜肴必须存在于菜肴表中,所以你在菜单上放置了一个外键约束。之后就像将Menus加入菜肴一样
用鸡蛋炒饭而不是42份打印出来
在菠菜床上找到所有带有厨师特殊屋顶rabit的菜单。
所有从未出现在菜单上的菜肴。
是你可能想要的所有东西,但是你所做的不是你菜单上的一道菜'你什么都不知道。
关系是机制,约束是原因。