📜  ER 模型中的泛化、特化和聚合

📅  最后修改于: 2021-09-09 11:36:34             🧑  作者: Mango

先决条件——ER模型介绍
ER 模型中的泛化、特化和聚合用于数据抽象,其中抽象机制用于隐藏一组对象的细节。

概括——
泛化是从一组实体中提取公共属性并从中创建一个泛化实体的过程。这是一种自下而上的方法,如果两个或多个实体具有某些共同属性,则可以将它们泛化为更高级别的实体。例如,STUDENT 和 FACULTY 可以推广到称为 PERSON 的更高级别实体,如图 1 所示。在这种情况下,P_NAME、P_ADD 等公共属性成为更高实体 (PERSON) 的一部分,S_FEE 等专用属性成为专用实体的一部分(学生)。

图像1

专业化——
在专业化中,实体根据其特征分为子实体。这是一种自上而下的方法,其中较高级别的实体专门化为两个或更多较低级别的实体。例如,Employee 管理系统中的 EMPLOYEE 实体可以特化为 DEVELOPER、TESTER 等,如图 2 所示。在这种情况下,E_NAME、E_SAL 等通用属性成为上级实体 (EMPLOYEE) 的一部分,TES_TYPE 等专业化属性成为专业实体(TESTER)的一部分。

图像2

聚合 –
ER 图不能表示实体之间的关系和在某些情况下可能需要的关系。在这些情况下,与其对应实体的关系被聚合到更高级别的实体中。聚合是一种抽象,通过它我们可以将关系表示为更高级别的实体集。

例如,为一个项目工作的员工可能需要一些机器。因此,关系 WORKS_FOR 和实体 MACHINERY 之间需要 REQUIRE 关系。使用聚合,WORKS_FOR 与其实体 EMPLOYEE 和 PROJECT 的关系被聚合到单个实体中,并在聚合实体和 MACHINERY 之间创建关系 REQUIRE。

img3

通过模式表示聚合 –

要表示聚合,请创建一个包含以下内容的架构:

  1. 聚合关系的主键
  2. 关联实体集的主键
  3. 描述性属性(如果存在)。