首页 > 解决方案 > 数据库——在企业管理软件中管理产品部分产品

问题描述

在我公司的业务管理软件中,我是这样管理产品的:
table products

id  name        part_of_id  ...
1   license     NULL
2   computer    NULL
3   computer    2
4   keyboard    2
5   mouse       2

customer_invoices

id  ...
1
2

customer_invoice_products

product_id  invoice_id  price   ...
1           1           100
2           2           300

供应商_发票

id  ...
1
2

供应商_发票_产品

product_id  invoice_id  price   ...
1           1           90
3           2           250
4           2           10
5           2           10

第一个示例,我们从供应商处购买 1 个许可证并将其出售给客户,一切都很好
第二个示例,我们从供应商处购买 1 台计算机、1 个键盘、1 个鼠标并将它们作为 1 台计算机出售给客户,问题是如果例如,我需要搜索与订单相关的所有产品 我必须查询与其直接相关的所有产品(产品 id 1)以及与它们相关的所有产品(产品 id 2、3 和 4)
,除了显然将计算机作为 3 种产品出售给客户,有没有更好的方法来做到这一点,管理这个的最佳实践是什么?

标签: databasebusiness-intelligence

解决方案


推荐阅读