我有一个客户表,它引用了一个地址 - 一对一的关系,有几个字段。目前没有其他表引用地址。因此将所有字段存储在一个表下更有意义,即使它可以被封装,或者我应该创建一个单独的地址表来存储地址字段。有什么优点/缺点?
答案 0 :(得分:1)
一般来说,这取决于您的要求。
如果某些字段值可以更新,但实体应该保持不变(应该由相同的键引用),那么您需要一个单独的表。例如,需要维护一个有效地址的数据库,客户应该从列表中选择一个预定义的地址,而不是手工输入,或者需要根据地址位置等提供一些特定的行为。
在您这样做的情况下,只需为模型添加绝对不必要的复杂性。
拥有单个表并使用OOP语言,您仍然可以将客户地址封装在单独的对象中(所谓的Value Object模式)。