规范化帮助:我可以拆分此表吗?

时间:2018-04-19 02:03:20

标签: database database-design database-normalization

我正在建立一个个人房地产网站来跟踪房产费用并计算回报。目前我有一个费用表来跟踪属性和单个单位的费用(单位与财产相关)。我的费用表看起来像这样:

| expense_id | property_id | unit_id | amount | date |
| ---------- | ----------- | ------- | ------ | -----|

我将property_id和unit_id设置为允许空值,应该只有属性或单位的值,但从不两者都有。这是否正确规范化,或者为property_expenses创建两个单独的表,为unit_expenses创建一个表是否有意义?

1 个答案:

答案 0 :(得分:0)

对我而言,这似乎是两个不同的问题。我会分开回答。

1)这是否正确归一化?

尝试表示单位和属性违反了第一个正常形式,它鼓励为每组相关数据创建单独的表。如果你稍微调整了你的表示,你就符合规范化规则。

2)创建两个单独的表是否有意义?

这取决于您的使用案例和数据格式。如果您想要建模一对多关系,其中一个属性可以有多个费用,您应该使用外键建立关系来为属性和费用设置单独的表。