- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个实体,例如 compound_tax
。每个compound_tax
可以由另一个实体tax
的多个实例组成。例如,一个 compound_tax
可以由两种税组成(顺序可能很重要):
VAT: 4.5% of Net Total (tax)
Service Tax: 3.4% of Net Total (tax)
------------------------------------
Total Tax: 7.9% of Net Total (compound_tax)
创建这些表的最佳方法是什么?有标准做法吗?
这是我想到的解决方案,尽管我不确定这是否是正确的解决方案。如果可能的话,请让我听听优点和缺点:
Table: taxes {PK: tax_id}
+--------+-------------+------+------------+
| tax_id | tax_name | rate | tax_type |
+--------+-------------+------+------------+
| 1 | VAT | 4.5 | single |
+--------+-------------+------+------------+
| 2 | Service Tax | 3.4 | single |
+--------+-------------+------+------------+
| 3 | Total Tax | 7.9 | compound |
+--------+-------------+------+------------+
Table: compound_taxes {PK: (ctax_id, tax_id), FK(tax_id)}
+--------+-------------+--------+
| ctax_id | tax_id | order |
+---------+------------+--------+
| 3 | 1 | 1 |
+-------- +------------+--------+
| 3 | 2 | 2 |
+---------+------------+--------+
更新:@Егор Рогов 问题的回答:
同一个“单一税”可以属于几种不同的复合税吗?” - 可以。
某些复合税是否有可能由另一种复合税组成? - 是的。
您要对这些表执行什么查询?” - 我需要快速列出所有税费和税率,本质上是对税费的选择。我需要能够更新税费,包括复合税,其中将涉及 compound_taxes
以及 taxes
上的 INSERT、UPDATE 和 DELETE。
您想要计算复合税的总税率还是将其“硬编码”到表中?” - 我都可以。我对它进行了硬编码,因为这样我就运行了一个简单的 SELECT
taxes
以获取所有税费以及税率的列表。
最佳答案
应该是相反的。您应该在税收表(其名称应该是税收,而不是税收)上有一个指向复合税的外键(compound_tax_id),因此您可以有多个税收指向相同的复合税。此选项卡中也会有“订单”字段。
另一个表应该称为compound_tax。而且它只有一个字段(id)。要了解属于compound_tax的税收,您可以通过compound_tax_id对税收表执行SELECT查询
关于mysql - 关系数据库管理系统 : How to represent a composite entity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33058269/
我是一名优秀的程序员,十分优秀!