<分区>
在一个系统中,我需要为电、水、回收等不同的公用事业账单保存数据,以便将来进行报告和计算。
今天,每个水电费账单都有几个不同的帖子/行。例如电费
账单可以包含固定费用
(账单日期范围内的金额)消费
(通常电费每千瓦时,水费每立方米等)税
(可能是能源税)
因为我希望以后能够使用数据库来搜索不同时间段、水电费类型等的数据,所以我需要想出一个可靠的数据库设计。所以下面将是我的开始。
`utility_bill`
`id` int(11)
`vendor_id` int(11)
`type_id` int(11)
`notes` varchar(255)
`date_issued` date
`date_due` date
`utility_bill_rows`
`id` int(11)
`utility_bill_id` int(11)
`name` varchar(64)
`startdate` date
`enddate` date
`units` double
`unit_price` double
`unity_type` varchar(16)
数据示例:
`utility_bill`
1 2 2 Electricty bill (august) 2016-09-01 2016-09-30
`utility_bill_rows`
1 1 Fixed fee 2016-08-01 2016-08-31 31 10 days
2 1 Consumption 2016-08-01 2016-08-31 500 1 kwh
3 1 Government taxes 2016-08-01 2016-08-31 500 0.1 kwh
在上面的示例中,bill_total
将是 310 + 500 + 50 = 860
并非所有的水电费账单都是按月计算的。在某些情况下,它可能是 2016-07-01 到 2016-09-30
、2016-08-15 到 2016-09-15
等等。因此,我正在考虑向表 utility_bill_rows
添加一个名为 daily_cost
的新列,它只是 (units * unit_price)/(enddate - startdate in days)
.
因此,非常感谢对上述设计和想法的任何建议。我是否应该对设计进行一些添加,以备日后使用