Mysql 如何创建餐厅自助系统列表数据库?

Mysql 如何创建餐厅自助系统列表数据库?,mysql,database-design,relational-database,Mysql,Database Design,Relational Database,餐馆有自助餐。自助餐有不同的摊位。我想在自助餐上为每道菜提供照片和评论。不确定在数据库中存储它们的最佳方式 我做了什么 我有一个餐厅数据库,存储其余餐厅的一般信息。 菜品数据库,存储餐厅的菜品。每道菜都被映射到一个类别,如开胃菜、饮料、主菜 现在,如何以标准化的方式将菜肴作为餐厅自助餐的一部分进行储存 您需要一张具有唯一主键REST\u ID和其他餐厅属性(如姓名和位置、厨师姓名)的餐厅餐桌 您需要一张带有主键(REST_ID、Buffet_ID)和其他自助餐属性(例如,“沙拉吧”、“自助餐”或

餐馆有自助餐。自助餐有不同的摊位。我想在自助餐上为每道菜提供照片和评论。不确定在数据库中存储它们的最佳方式

我做了什么

我有一个餐厅数据库,存储其余餐厅的一般信息。 菜品数据库,存储餐厅的菜品。每道菜都被映射到一个类别,如开胃菜、饮料、主菜


现在,如何以标准化的方式将菜肴作为餐厅自助餐的一部分进行储存

您需要一张具有唯一主键REST\u ID和其他餐厅属性(如姓名和位置、厨师姓名)的餐厅餐桌

您需要一张带有主键(REST_ID、Buffet_ID)和其他自助餐属性(例如,“沙拉吧”、“自助餐”或“糖果”)的自助餐桌

您需要一个带有主键(REST\u ID、BUFFET\u ID、Dish\u ID)和其他属性(如名称(“土豆沙拉”、“黄油楠”)的菜表

您需要一个带有主键(REST\u ID、BUFFET\u ID、DISH\u ID、PHOTO\u ID)和其他属性(例如照片本身的路径名或blob)以及标题的照片表

您需要一个带有主键(REST\u ID、BUFFET\u ID、DISH\u ID、REVIEW\u ID)的Reviews表

请注意,在这个数据模型中有一个设计选择:同一道菜不可能出现在两个不同的自助餐上。同样的自助餐也不可能出现在两个不同的餐厅。也就是说,数据是严格分层的:

One restaurant: zero, one, or more buffets
One buffet: zero, one or more dishes
One dish: zero, one or more photos
One dish: zero, one or more reviews
这对于审查应用程序来说是有意义的。如果你在A餐厅的鸡蛋沙拉中食物中毒,那么你对这道菜的负面评价出现在B餐厅下面是没有意义的

下面是每个表的一些示例行

餐厅(休息ID、姓名、厨师)

自助餐(休息ID、自助餐ID、名称)

菜肴:(休息ID、自助餐ID、菜肴ID、名称和类别)


等等。

谢谢奥利,理解自助餐桌有点小问题。它会包含自助餐的名称还是各个类别。每个不同的自助餐摊位都有一排自助餐。(有些餐馆有不止一个自助餐。)它包含自助餐的名称。如果我是你,我会把每道菜的分类(开胃菜、主菜等)列在菜表上。我有分类。但我有另一张桌子。关于如何在他们的桌子上命名这些自助餐的任何帮助。我试图在我的编辑中解决您的问题,但我不确定我是否完全理解。是的,。在自助餐桌上。。自助餐ID。。。这不是独一无二的。。这是我的问题。。。我希望我没有进一步把你弄糊涂
1 "McDonalds" Ronald
2 "Julia's Place" Julia
3 "Ritz Carlton Dining Room" Jack
2 1 "Soup Bar"   (this is the soup bar at Julia's place)
2 2 "Salad Bar"  (the salad bar at Julia's place)
3 1 "Cold Breakfast"  (the cold breakfast bar at the hotel dining room)
3 2 "Sweets"  ( the dessert bar at the hotel dining room)
2 1 1 "Minestrone" "Soup"
2 1 2 "French Onion" "Soup"
2 1 3 "Vegetarian Barley" "Soup"
2 1 4 "Saltines" "Crackers"
3 1 1 "Melon" "Fruit"
3 1 2 "Strawberry" "Fruit"
3 1 3 "Blueberry Muffin" "Bread"
3 1 4 "Multigrain Bread" "Bread"
3 1 5 "Corn Flakes" "Cereal"
3 1 6 "Orange Juice" "Drink"
3 1 7 "Milk" "Drink"