【问题标题】:Weak entity questions弱实体问题
【发布时间】:2016-03-29 17:46:32
【问题描述】:

我知道弱实体依赖于强实体。但它是否有自己的主键,强弱实体之间是否存在特定关系? 我们是否也使用括号示例来表示两个实体之间的关系:弱实体,(1,1)

【问题讨论】:

  • 你能详细说明一下吗?
  • 1.弱实体有自己的主键吗?
  • 这是我第一次听到“弱实体”这个词,在维基百科上查找它表明整个事情有点模糊。订单仓位表需要订单表的上下文,所以它是一个弱实体。但是订单表也需要用户和产品作为其上下文。深思熟虑:每个不可为空的外键都使其表成为“弱实体”。我非常怀疑这个术语是否有任何帮助。但是要回答这个问题:这与表的主键无关。 en.wikipedia.org/wiki/Weak_entity

标签: mysql sql database


【解决方案1】:

弱实体确实有自己的主键,它是另一个实体的主键和至少一个其他列的组合。 “父”实体本身可能是弱实体或强实体。

通过在依赖实体的主键中包含“父”实体的主键,它们之间以及与任何其他“祖先”实体直至最近的强实体之间会自动建立二元关系。这种关系的基数是一个(“父”)实体对许多(从属)实体。

了解:

  • StrongEntity 的主键是PrimaryKeyAttribute
  • WeakEntity1 的主键是PrimaryKeyAttribute, WeakKeyAttribute1
  • WeakEntity2 的主键是PrimaryKeyAttribute, WeakKeyAttribute1, WeakKeyAttribute2

在文本形式中,弱实体的键足以表示它与其“父”实体之间的关系,因为“父”键对“子”键的功能依赖很简单,例如(PrimaryKeyAttribute, WeakKeyAttribute1) -> PrimaryKeyAttribute。基数可以表示为 1:M 或描述为一对多(更具体地说,一对一或多或一对零或多)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 2017-05-22
    • 1970-01-01
    相关资源
    最近更新 更多