什么是弱势实体?在这个例子中会找到一个弱实体吗?为什么?

时间:2017-05-12 08:00:44

标签: database entity entities weak-entity

是否有任何弱实体。我如何识别弱实体。如果你确实找到了一个弱实体,你能不能向我解释为什么它是一个弱实体。你是如何得出这个结论的?请告诉我。

聚合: -library

实体:

- 资源 -书 -Cubicle - 贷款申请书 - 书借了 -雇员 - 签约(签署书籍贷款) - 实践(在线确认用户贷款申请) - 贷款 - 用户(申请账面贷款或小隔间贷款) -Penalty(如果他们有逾期的书籍,则提供给用户)

1 个答案:

答案 0 :(得分:1)

弱实体集是无法通过其自身属性识别的实体集。弱实体集至少部分地通过它们与另一实体集的关系来识别。这意味着弱实体集的主键将包含外键。

例如:

Invoice (invoice_id PK, ...)
LineItem (invoice_id FK/PK, line_number PK, ...)

为了识别示例中的弱实体集,我们需要知道如何识别您的实体集。这是一个设计决策,而不是任何实体集中固有的东西。可以通过引入代理键将任何弱实体集转换为常规实体集,代理键还将与其父代的识别关系转换为常规关系。因此,在您决定如何识别实体集之前,无法知道。

考虑如何识别每个实体集。书籍通常由ISBN号识别,这些号码将被视为自己的属性。你如何识别一本书的多个副本?每个人都可以获得自己的序列号,或者可以编号每个ISBN的副本。后一种方法表示弱实体集。小隔间怎么样?每个隔间是否有自己独特的标识,或者它们是否相对于特定的房间/楼层/建筑物/场地/公司编号?在后一种情况下,将其建模为弱实体集可能是个好主意。可以通过代理键或书籍标识符和贷款日期的组合来识别书籍贷款。对于每个实体集,可以将其想象为常规或弱实体集。