我应该在新表中移动相关列吗?

时间:2015-03-29 15:14:29

标签: database database-design

我有一个客户表,它引用了一个地址 - 一对一的关系,有几个字段。目前没有其他表引用地址。因此将所有字段存储在一个表下更有意义,即使它可以被封装,或者我应该创建一个单独的地址表来存储地址字段。有什么优点/缺点?

1 个答案:

答案 0 :(得分:1)

一般来说,这取决于您的要求。

如果某些字段值可以更新,但实体应该保持不变(应该由相同的键引用),那么您需要一个单独的表。例如,需要维护一个有效地址的数据库,客户应该从列表中选择一个预定义的地址,而不是手工输入,或者需要根据地址位置等提供一些特定的行为。

在您这样做的情况下,只需为模型添加绝对不必要的复杂性。

拥有单个表并使用OOP语言,您仍然可以将客户地址封装在单独的对象中(所谓的Value Object模式)。