我正在考虑将地址添加到现有数据库中,并试图找出以下方法的优缺点(如果有任何我忽略了)。
- 将地址与源记录内联存储
- 有一个地址表并为实体添加一个外键
- 具有链接到实体的外键的地址表
出于标准化原因,我想避免将其内联存储,但我不确定要选择其他哪些选项。在某些时候,我们可能希望其他实体类型在其上具有地址,这使得选项 2 看起来是最好的选项。这个选项(据我所知)有可能留下未链接的数据。
我正在考虑将地址添加到现有数据库中,并试图找出以下方法的优缺点(如果有任何我忽略了)。
出于标准化原因,我想避免将其内联存储,但我不确定要选择其他哪些选项。在某些时候,我们可能希望其他实体类型在其上具有地址,这使得选项 2 看起来是最好的选项。这个选项(据我所知)有可能留下未链接的数据。
简短的回答:
选项 1 或选项 2:
再长...
一个单独的地址表通常对某些父记录有一个 FK。
每个地址都可能有一个类型(账单、送货等)
地址不是共享的、可重用的或有限的:也就是说,源条目的每个地址与其他条目几乎没有共同之处。
最后,考虑如何使用地址。您添加或更新它们。您无需查找现有地址并链接到该地址。每个地址仅针对每个源。
一个人或实体可能有多个地址,因此您希望地址表上的外键与人员记录相对,例如:
如果您有基于地址的业务规则,则需要创建一个包含邮政编码的地址表,并从中获取街道地址(谷歌为葡萄牙语单词“logradouro”而来,这是我们邮政服务使用的术语)使用邮政编码。
它允许地址信息比简单地让用户直接填写街道地址更有用。