我无法理解部分键/弱实体和外键之间的区别。我觉得自己像个白痴,无法理解这些东西。
据我了解:
Weak Entity: An entity that is dependent on another entity.
Partial Key: Specifies a key that that is only partially unique. Used for weak entities.
vs
Foreign Key: A key that is used to establish and enforce a relation between data in different tables.
这些似乎不是同一回事,但我无法区分它们的用途。
以[非常]简单的例子为例:
We have employees specified by an empid. We also have children specified by name. A
child is uniquely specified by name when the parent (employee) is known.
子实体会是一个弱身份,其中部分键是名称(部分唯一)?或者我应该使用外键,因为我试图建立和强制执行员工和 child 之间的关系?我觉得我可以证明两者都是合理的,但我也觉得我在这里遗漏了一些东西。任何见解表示赞赏,我为愚蠢的问题道歉。
最佳答案
问题不在于你,是古教科书或者你用的什么东西都是纯排泄物,“定义”不明确,30多年的关系数据库都有标准定义,清晰多了.您发布的“定义”实际上恰恰相反,不直观,人们会感到困惑也就不足为奇了。
识别关系(相对于非识别)的使用实际上很强大;它为依赖(“弱”)实体提供了标识符。因此,在要求精确的科学中不应使用诸如“弱”和“强”之类的愚蠢术语。
使用标准术语。
不熟悉关系数据库建模标准的读者可能会发现▶IDEF1X Notation◀有用。
关于relational-database - 外键与部分键及其 E-R 表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4846724/