7

我目前有 3 个表格存储有关世界上所有主要城市、与这些国家/地区对应的每个地区/州以及这些州/地区中的每个城市的信息。

城市、州和国家

现在我的数据库中有大约 6 个其他表,例如需要完全相同的 5 列的用户或组织表:地址、郊区、城市、州/地区、国家。因此,我想知道使用存储这 5 条信息的“位置”表是否是“好的”规范化做法,然后用户或组织表将有一个 location_id 可以参考。

带有位置表的城市、州和国家/地区

好主意还是坏主意?我还在考虑以相同的原则使用“联系人”表,该表将包含 home_phone、business_phone、mobile_phone、email_address,而不是在 6 个表中的每一个中都有相同的 5 列。

任何建议表示赞赏。非常感谢!

4

2 回答 2

8

这是一组不必要的关系 - 您可以从城市获取地区/国家。

请注意,我在下图中错误地使用了地区和国家,但它说明了我的意思!

在此处输入图像描述

当然,定义一个结合城市、国家和地区的视图来实际编写查询会很有用。我也认为在实践中正常化到这个水平是一个非常好的主意。当您将一个新字段添加到您的位置表时,您会很高兴您将其拆分出来 ;-)

于 2011-04-07T12:23:02.513 回答
1

我认为你已经做得过火了。地区、城市和国家作为单独的表格非常棒,因为您可以轻松管理条目而不会造成数据不一致。但是没有必要将每个用户/组织的地址数据存储在单独的(位置)表中。将这些字段添加到用户/组织表中。

编辑:RB 更详细地说明了它:)

于 2011-04-07T12:24:47.517 回答