我试图建模数据库以保存(主要是)英国人口普查记录信息。那些比我更了解的人会快速查看下面的数据库模式草案,并告诉我是否我的标准化正确或者我是否有任何明显的错误?
我认为它相对自我解释,但由于我多年没有接近数据库设计,忽略了tbPerson& amp; tbLocation,我认为我需要两个链接表,因为首先一个人可以出现在许多人口普查中......其次是一次人口普查,可以有很多地址。这个草案设计有效吗?这些天链接表仍然是最好的做事方式吗?
答案 0 :(得分:0)
一般评论:
那就是说,Link Tables仍然是做n:n关系的正确方法,而PersonCensus是完全合理的。
编辑 - 添加位置内容。
位置问题是PersonCensus链接到一个位置(可能有许多PersonCensus链接到它)。此外,地址链接到一个位置(可以有许多地址链接到它)。所以你可以从PersonCensus到他们的位置,但是你有很多地址链接到位置。哪一个是PersonCensus的地址?没有办法说出来。
如果地址是出于某种其他原因而不是显示人口普查的生活/工作地点/人口普查时的其他原因,那么我不知道该目的是什么,因此无法做出任何理由。进一步评论。
但是,如果地址应该与PersonCensus链接,那么按照设计,它是无用的。要将PersonCensus链接到地址,请从PersonCensus中删除LocationId并替换为AddressId。现在,PersonCensus首先链接到Address,然后链接到Location。
现在我要停止更新此内容,因为如果您有更多问题,我真的需要打开另一个问题,更好地描述您正在做的事情。干杯 -