DBMS - 泛化与聚集



ER 模型能够以概念上的层次结构方式表达数据库实体。随着层次结构向上移动,它会概括实体的视图,而当我们深入层次结构时,它会提供每个包含实体的详细信息。

在此结构中向上移动称为泛化,其中实体被组合在一起以表示更通用的视图。例如,名为 Mira 的特定学生可以与所有学生一起进行泛化。实体将是学生,此外,学生是一个人。反之则称为特化,其中人是学生,而该学生是 Mira。

泛化

如上所述,将实体泛化的过程,其中泛化实体包含所有泛化实体的属性,称为泛化。在泛化中,许多实体根据其相似特征组合成一个泛化实体。例如,鸽子、麻雀、乌鸦和斑鸠都可以泛化为鸟类。

Generalization

特化

特化是泛化的反义词。在特化中,一组实体根据其特征被分成子组。例如,考虑“人”组。一个人有姓名、出生日期、性别等。这些属性在所有人,即人类中是通用的。但在一家公司中,可以根据他们在公司中扮演的角色将人员识别为雇员、雇主、客户或供应商。

Specialization

类似地,在学校数据库中,可以根据他们在学校中扮演的角色将人员特化为教师、学生或工作人员,作为实体。

继承

为了在面向对象编程中创建对象类,我们使用了 ER 模型的所有上述功能。实体的详细信息通常对用户隐藏;此过程称为抽象

继承是泛化和特化的一个重要特征。它允许较低级别的实体继承较高级别实体的属性。

Inheritance

例如,Person 类(如姓名、年龄和性别)的属性可以被较低级别的实体(如 Student 或 Teacher)继承。

广告