问题描述
Database Design of Customer Tax Report
我需要维护有关一年中客户及其费用的一组信息。 FaceValue,Rent,UtilitiesCost 是存储一年中费用的表。 最后一列存储一年的总和。这是个好习惯吗?
CustomerTaxReport 表需要针对 CustomerNo 的每个表的所有总值。 这样的信息很难维护。如果一条记录中有修改,那么我必须重新计算所有必需的记录。
克服此问题的最佳方法是什么?如果我使用触发器,那么我认为它将导致性能问题。
解决方法
这就是我建议更改的地方:
- 将“月份”值从表的列移至行。为此,只需添加一些
month
并在相应月份的开始处进行填充:3月为'2020-03-01'。添加value
列以存储金额 - 如果您需要
year
作为单独的期间-可以添加一个新列并填写month
或year
- 进行
CustomerTaxReport
查询而不是表格
int
很可能不是用于存储金钱的好类型。