mysql - 如何组合数据库以及这是否是数据库设计的最佳方法
问题描述
我正在创建一个非常类似于跳过菜肴的数据库,并且菜单上的每个项目都添加了(例如:添加沙拉)。我想把他们和他们的配菜放在一起。如果你们能直观地告诉我,因为很难想象,尤其是当我还是新手的时候,谢谢。所以我要问的重点是
- 这对数据库设计有效吗?
- 将两张桌子组合在一起的最佳方法是什么?
Table1(Food)
co1(food_name) col2(price)
Salmon 9.95
Beef with rice 11.50
Turkey 13.95
Chicken 9.95
Table2(Add-on)
col1(addon_name) col2(food_name) col3(price)
side salad salmon 2.50
side rice salmon 2.50
side potatoes salmon 2.50
gravy beef with rice 1.50
side potatoes beef with rice 2.50
side rice Turkey 2.50
gravy Turkey 1.50
gravy Chicken 1.50
想要的结果的前
salmon|9.95|side salad|2.50|side rice|2.50|side potatoes|2.50
Turkey|9.95|side rice|2.50|gravy|1.50
Chicken|9.95|gravy|1.50
解决方案
推荐阅读
- node.js - 如何使用 zeit now server 为 NodeJS 表单应用程序提供服务
- android - $BITRISE_DEPLOY_DIR 有哪些可用文件?
- php - 从数据库的codeigniter中的开始时间字段计算结束时间
- javascript - 使用 angularjs 将 yaml 数据解析到浏览器
- javascript - React-testing-library:在组件的上下文中找不到“存储”
- python - 在 VS 代码中从继承的 python 类中覆盖方法时获取自动完成
- flutter - Flutter 如何使 Wrap 小部件中的 Text 小部件从前一个小部件的末尾开始,而不是从前一个小部件开始?
- scala - 以“Scala 方式”基于另一个集合对一组值进行排序
- php - 如何删除codeigniter中的index.php?,我尝试了正常的技术,但没有奏效
- php - DoctrineORMEntityManager ::initializeProxy() 的声明必须与 ProxyManager\Proxy\LazyLoadingInterface::initializeProxy() 兼容:bool