2010-08-01 50 views
0

我正在使用WPF前端和PostgreSQL数据库创建应用程序。数据包括患者地址和供应商地址。列出的每个邮寄地址平均约有3个联系人。我估计每个数据库10,000至15,000条联系人记录。是否将数据拆分为单独的PostgreSQL表

在设计数据库结构时,我发现不是将邮寄地址存储在单个“联系人”表中,而是可以有一个表存储名称和其他单个数据,第二个表存储地址。然后,我可以在表格之间创建关系,以便将地址与联系人进行匹配。

我有一个很好的主意,我可以整齐地组织情况,如更改单个联系人的地址,其他联系人的地址停留在同一地址。

问题是:它值得吗?我能期望在存储大小方面节省很多吗?这会影响adversley查询的速度吗?如果我使用的是PostgreSQL以外的东西呢?

+1

要回答您的问题,首先列出您的所有用例,并考虑它们如何与每个数据模型配合使用。 – 2010-08-01 20:18:02

回答

0

除非您认为大量的用户将共享地址,并且他们经常会发生变化,否则我不认为需要规范化地址部分。在我工作过的各个地方看到用户表,有时候是这样,有时候并非如此 - 似乎从来没有真正以这种或那种方式造成可怕的麻烦。

在性能方面,只有10-15k条记录和适当的索引,我无法想象你会注意到现代硬件上的差异太大(尽管技术上单独的表应该更慢)。

0

我同意约书亚。一旦设置正确(规范化),将来管理应用程序的任何更改都非常容易。