首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL外键冗余

SQL外键冗余
EN

Stack Overflow用户
提问于 2013-07-19 23:13:15
回答 1查看 798关注 0票数 1

这是一个关于外键冗余的问题。

redundant foreign key? <-相似问题

一般而言:

表C中的外键引用表B中的主键

表C中的外键引用表A中的主键

表B中的外键引用表A中的主键

由于C是通过B连接到A的,所以从C到-> A的外键是必需的吗?

具体:3个表

供应商信息表A

供应商ID - PK

个人联系信息(供应商)表B

第#- PK部分

收到日期- PK

供应商ID - FK

表C部分

#- PK及FK

日期- PK & FK

供应商ID - FK

谢谢--我们也欢迎对所有桌子进行重新加工的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-19 23:21:49

如果您假设某个人的供应商总是由该部件所代表的供应商,那么关键在技术上是多余的。记住,事情会随着时间的推移而改变。据推测,供应商可以合并,人员可以改变他们与之相关的供应商,而与某一部分相关的供应商可能会改变。

然而,数据结构看上去并没有正确地标准化。我认为您需要一个person表,其中只包含有关此人的信息。我不明白零件和人之间的关系。

所以,我认为你应该重新设计你的数据结构。我建议你从你确定的实体开始--供应商,人员和零件。然后,如果有必要,为它们创建关联表。很有可能每个人都应该有一个SupplierId,每个部分应该有一个SupplierId,并且对关系进行建模。如果在部件和人员之间存在某种关系,那么您就可以通过部分中的PersonId字段来满足这一要求。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17756873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档