最近我和其他一些开发人员讨论过,表中有多少列或模型上的属性过多是代码味道。有些人认为,具有太多属性的模型做了太多事情,应该分割。 但是如果模型实际需要这些属性呢?为什么一张桌子上有太多的香味?
让我以users
表为例。
用户可以具有 first_name
,last_name
,street_name
,city
,state
,age
等。 根据参数,我认为street_name
,city
和state
应该被移到不同的表中。我同意相关数据以这种方式组合在一起,但是如果应用程序使用他的地址查询用户,那么不会是一个更昂贵的操作,因为他们现在在2个表中?
那么什么是正确的方式来建模具有很多属性的表? (如果我们也考虑这些情况:当 1的行数要少 2行的数量将是巨大的)
您可能不应该*在您的数据库中存储*年龄。你的数据全部变得不准确 – podiluska