是否有任何弱实体。我如何识别弱实体。如果你确实找到了一个弱实体,你能不能向我解释为什么它是一个弱实体。你是如何得出这个结论的?请告诉我。
聚合: -library
实体:
- 资源 -书 -Cubicle - 贷款申请书 - 书借了 -雇员 - 签约(签署书籍贷款) - 实践(在线确认用户贷款申请) - 贷款 - 用户(申请账面贷款或小隔间贷款) -Penalty(如果他们有逾期的书籍,则提供给用户)
答案 0 :(得分:1)
弱实体集是无法通过其自身属性识别的实体集。弱实体集至少部分地通过它们与另一实体集的关系来识别。这意味着弱实体集的主键将包含外键。
例如:
Invoice (invoice_id PK, ...)
LineItem (invoice_id FK/PK, line_number PK, ...)
为了识别示例中的弱实体集,我们需要知道如何识别您的实体集。这是一个设计决策,而不是任何实体集中固有的东西。可以通过引入代理键将任何弱实体集转换为常规实体集,代理键还将与其父代的识别关系转换为常规关系。因此,在您决定如何识别实体集之前,无法知道。
考虑如何识别每个实体集。书籍通常由ISBN号识别,这些号码将被视为自己的属性。你如何识别一本书的多个副本?每个人都可以获得自己的序列号,或者可以编号每个ISBN的副本。后一种方法表示弱实体集。小隔间怎么样?每个隔间是否有自己独特的标识,或者它们是否相对于特定的房间/楼层/建筑物/场地/公司编号?在后一种情况下,将其建模为弱实体集可能是个好主意。可以通过代理键或书籍标识符和贷款日期的组合来识别书籍贷款。对于每个实体集,可以将其想象为常规或弱实体集。