如何在mysql方案中集成免费或简化产品?

时间:2014-03-05 14:56:17

标签: mysql sql database-design relational-database

我想在MySQL数据库中添加简化或免费产品的支持。

这是当前的表结构:

产品

+----+------+------+-----+-------+
| id | abbr | name | net | gross |
+----+------+------+-----+-------+

发票

+----+------------+---------+
| id | created_at | paid_on |
+----+------------+---------+

invoices_products

+------------+------------+
| invoice_id | product_id |
+------------+------------+

最简单的选择是添加具有其他定价的重复产品实体,但由于我没有关于数据库的大数据,我希望采用不包含重复数据的高级方法。

1 个答案:

答案 0 :(得分:0)

我从拥有会计知识的爸爸那里得到的结论非常聪明:

除了文章/产品表,您还需要创建价格和条件表:

<强>价格

+----+------+-------+-----+------------+
| id |  net | gross | net | product_id |
+----+------+-------+-----+------------+

<强>条件

+----+------+-------+-----+------------+
| id |  net | gross | net | percentage |
+----+------+-------+-----+------------+

我们现在可以将价格实体转化为产品,然后将条件转移到产品上。这样可以避免包含双重数据的entites,并且可以灵活地将多个条件应用于产品。