mysql – 数据库设计:产品和产品组合
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 数据库设计:产品和产品组合,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2480字,纯文字阅读大概需要4分钟。
内容图文
说我卖的是一些产品.有时,产品实际上是其他产品的组合.例如,说我卖的是:
>热狗
>苏打水
>热狗苏打水组合
我应该如何模仿这样的东西?我是否应该有一个产品表来列出单个产品,然后是一个描述组合的product_combo表,另一个与product和product_combo相关联的表来逐项列出产品中的产品?这对我来说似乎很简单.
但是,如果我想将所有销售记录在一个表中,该怎么办?意思是,我不想要product_sales表和product_combo_sales表.我希望所有销售都只在一张桌子上.我有点不确定如何以这样的方式对产品和产品组合进行建模我以后可以将所有销售记录在一个表中.
建议?
注意:我想知道是否可以使用父子关系将产品和产品组合放在一个表中.有一张桌子,那么录制销售并不难.我必须实现一个业务规则,即当已经针对该组合记录销售时编辑产品组合,该编辑实际上导致新条目.但是可能会变得混乱.
解决方法:
这取决于您实际需要对系统执行的操作.需要跟踪库存的系统需要了解“组合餐”需要通过一个热狗和32盎司苏打(或其他)借记库存.然而,一个只跟踪订单和美元的系统并不真正关心组合餐的“进入” – 只是你卖掉了一个并获得了报酬.
也就是说,我们假设您需要库存系统.您可以通过稍微更改定义来降低复杂性.考虑(1)库存项目和(2)菜单项目.您的inventory_items表包含您购买和跟踪的商品(热狗,苏打水等).您的menu_items表包含您销售的商品(Big Dog Combo Meal,Hot Dog(仅限三明治)等).
您可以使用一些菜单项,巧合的是,它们与库存项目具有相同的名称,但是对于这些菜单项,您可以像处理组合项目一样对待它们,并将单个记录粘贴到链接表中:
inventory_items menu_items recipes (menu_item, inventory, qty)
--------------- ------------ ----------
hot dog Hot Dog Hot Dog, hot dog, 1
hot dog bun Hamburger Hot Dog, hot dog bun, 1
hamburger patty (4oz) Big Dog Combo Hamburger, hamburger patty (4oz), 1
hamburger bun Soda (32oz) Hamburger, hamburger bun, 1
cola Big Dog Combo, hot dog, 1
ginger ale Big Dog Combo, hot dog bun, 1
Big Dog Combo, *soda, 32
Soda (32oz), *soda, 32
只是构建这个例子,事实证明即使是低热狗也有两个组成部分(你必须计算发髻),而不仅仅是一个.为了得出最简单的情况(带有单个组件的菜单项),我在菜单中添加了Soda.但是,请考虑一下,如果你打算清点非食品(杯子),那么即使是简单的苏打水也会有两种成分(如果你要清理吸管,则需要三种).
请注意,使用此设计时,没有用于处理组合项和非组合项的特殊代码路径.所有与菜单相关的功能将仅使用menu_items表,所有库存和食品准备相关功能将JOIN menu_items加入配方和(如果需要其他字段)inventory_items.
您需要对可选组件(酸菜,津津乐道,辣椒等)以及可从不同库存项目中选择的组件进行特殊处理(在此模型中表示为*苏打水),但这应该可以帮助您入门.
内容总结
以上是互联网集市为您收集整理的mysql – 数据库设计:产品和产品组合全部内容,希望文章能够帮你解决mysql – 数据库设计:产品和产品组合所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。