首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何建立食肆自助餐系统资料库?

如何建立食肆自助餐系统资料库?
EN

Stack Overflow用户
提问于 2010-09-25 18:07:38
回答 1查看 2K关注 0票数 0

餐馆有自助餐。自助餐有不同的价差。我想在自助餐上的每一道菜上启用照片和评论。不确定哪种方法是在数据库中存储它们的最佳方式

我做了什么?

我有一个存储REst一般信息的Restaurant Db。储存餐厅菜肴的数据库。每道菜又被映射到一个类别,如开胃菜,饮料,主菜。

现在,如何以规范化的方式将菜肴存储为餐厅自助餐的一部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-25 20:15:51

您需要一个具有惟一主键REST_ID和其他餐厅属性(如姓名和位置、厨师姓名)的Restaurant表

您需要一个具有主键(REST_ID、BUFFET_ID)的自助餐表格,以及其他自助餐属性,比如名称(例如,“沙拉吧”、“自助餐”或"Sweets“)。

您需要一个带有主键(REST_ID、BUFFET_ID、DISH_ID)和其他属性的Dish表,比如名称(“土豆沙拉”、“奶油南瓜”)

您需要一个包含主键(REST_ID、BUFFET_ID、DISH_ID、PHOTO_ID)和其他属性的Photos表,例如照片本身的路径名或blob,以及标题。

您需要一个包含主键(REST_ID、BUFFET_ID、DISH_ID、REVIEW_ID)的审阅表。

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

代码语言:javascript
运行
复制
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餐厅是没有意义的。

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

餐厅(REST_ID,姓名,厨师)

代码语言:javascript
运行
复制
1 "McDonalds" Ronald
2 "Julia's Place" Julia
3 "Ritz Carlton Dining Room" Jack

Buffet (REST_ID,BUFFET_ID,Name)

代码语言:javascript
运行
复制
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)

Dish:(REST_ID,BUFFET_ID,DISH_ID,name and category)

代码语言:javascript
运行
复制
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"

等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3793343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档