kai*_*lya 1 sql asp.net performance design-patterns
我有公司,客户,供应商等表,所有表都有地址信息相关列.
我试图找出是否应该创建一个新的表'地址'并将所有地址列分开.
在所有表上都有地址列很容易使用和查询,但我不确定从良好的设计角度来看是否是正确的方法,让几个表重复这些相同的列让我很好奇.
地址的内容对我来说并不重要,我不会在任何决策过程中检查或使用这些地址,它们纯粹是与信息相关的.目前我正在查看5个包含地址信息的表
所有设计问题的答案是:
这取决于.
所以基本上,在地址案例中,它取决于每个客户是否会有超过1个地址.如果您将有多个,请将其放在新的地址表中,并为每个地址指定一个CustomerID.创建通用地址表并将其映射到公司/客户/供应商表是一种过度杀伤(大部分时间,取决于!).
在对象之间的多对多关系中映射地址通常也是过度的(而且很危险)(如果你这样做,地址似乎会神奇地改变用户).
一个重要的规则是:保持简单!