如何解决如果弱实体有多个强实体,它是否可以有多个主键?
如果我有一个没有属性的弱实体并且与所有者实体有四个弱关系,并且我想为这个弱实体设计关系模式,我是否可以获取与所有者实体有关系的强实体的所有主键?弱实体并将它们作为弱实体的主键? 我在下面添加了一个示例,我的问题是关于“Recon”实体。
解决方法
将相关强实体的主键迁移到弱实体的主键中。结果是一个(复合)主键,而不是多个主键1。
结果表看起来像这样:
CREATE TABLE Recon (
sin int REFERENCES Person,method int REFERENCES Method,name int REFERENCES Place,time REFERENCES TimeSlot,PRIMARY KEY (sin,method,name,time)
-- Other fields and constraints...
);
注意:我会考虑将代理键引入父/强实体,只是为了使弱实体的键更精简(例如,引入 PlaceId
并从 {{1} 引用 it } 而不是自然键 Recon
).
1实际上,每个实体只能有一个主键,尽管理论上您可以有多个备用键。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。