一个实体类型应该有一个唯一标识实体集中每个实体的键属性,但是存在一些无法定义键属性的实体类型。这些被称为弱实体类型。
没有足够属性形成主键的实体集称为弱实体集,具有主键的实体集称为强实体集。
由于弱实体没有任何主键,因此无法自行识别,因此它们依赖于其他实体(称为所有者实体)。弱实体在其与所有者身份的识别关系中具有完全参与约束(存在依赖性)。弱实体类型具有部分键。部分键是一组属性,借助这些属性可以区分和识别弱实体的元组。
注意 –弱实体总是完全参与,但强实体可能没有完全参与。
弱实体依赖强实体来保证弱实体的存在。像强实体一样,弱实体没有任何主键,它有部分鉴别器键。弱实体用双矩形表示。一个强实体和一个弱实体之间的关系用双菱形表示。
弱实体在ER图中用双矩形框表示,识别关系用双菱形表示。部分键属性用虚线表示。
示例 1:
在下面的 ER 图中,“付款”是弱实体。 “贷款付款”是识别关系,“付款编号”是部分关键字。贷款的主键和部分键将用于识别记录。
示例 2:
房间的存在完全取决于酒店的存在。所以房间可以看作是酒店的弱点。
示例 3:
如果该银行不再存在,则该银行的银行账户也不存在。
示例 4:
公司可能会存储员工的家属(父母、子女、配偶)的信息。但是没有员工,家属就没有存在。因此 Dependent 将是弱实体类型,而 Employee 将为 Dependent 识别实体类型。
其他例子:
Strong entity | Weak entity
Order | Order Item
Employee | Dependent
Class | Section
Host | Logins
注 –强弱实体集始终具有父子关系。