考虑一个餐厅数据库,其中有一张餐厅表(带有一些附加信息),并且对于该表中的每个餐厅(每一行),您都有一组包含信息的表(比如菜单等)。有这么多桌子(有数千家餐厅)可以吗,或者有没有更好的方法来设计这种关系?
为了更好的想象力:
我会去做类似的事情:
restaurants table (stores all of your restaurants):
restaurant_id INT PRIMARY KEY
restaurant_name
etc
menus table (stores all of your menus):
menu_id INT PRIMARY KEY
menu_name
restaurant_menus table (stores which restaurants serve which menus):
restaurant_id INT, -- references restaurants.restaurant_id
menu_id INT -- references menus.menu_id
ingredients table (stores all available ingredients):
ingredient_id INT PRIMARY KEY
name
etc
menu_items table (stores each available menu item):
menu_item_id INT PRIMARY KEY
name
etc
menu_item_ingredients table (stores which ingredients make up a given menu item)
menu_item_id INT, -- references menu_items.menu_item_id
ingredient_id INT, -- references ingredients.ingredient_id
name
quantity
etc
menu_item_items (stores which items are on a given menu):
menu_id INT, -- references menus.menu_id
menu_item_id INT -- references menu_items.menu_item_id
Run Code Online (Sandbox Code Playgroud)
menu_item_items
并且menu_items
可能需要更好的名字(菜肴menu_items
,也许?)。
归档时间: |
|
查看次数: |
839 次 |
最近记录: |