我正在建立一个个人房地产网站,用来跟踪房产支出并计算回报。目前,我有一个单一的费用表,用于跟踪房产和单个单位的费用(单位与房产相关)。我的费用表如下所示:
| expense_id | property_id | unit_id | amount | date |
| ---------- | ----------- | ------- | ------ | -----|我将property_id和unit_id都设置为允许空值,应该只有属性或单元的值,但不能同时有这两个值。这是否正确规范化,或者创建两个单独的表,一个用于property_expenses,一个用于unit_expenses是否有意义?
发布于 2018-04-19 11:08:50
对我来说,这似乎是两个独立的问题。我将分别回答每个问题。
1)这是否适当地标准化了?
试图同时表示单位和属性违反了第一个范式,该范式鼓励为每组相关数据创建单独的表。如果你稍微调整了你的表示,你就符合规范化规则。
2)创建两个单独的表有意义吗?
这取决于您的用例和数据的格式。如果您想要建立一个一对多的关系模型,其中一个属性可以有多个费用,那么您应该为属性和费用使用单独的表,并使用外键来建立关系。
https://stackoverflow.com/questions/49911585
复制相似问题