📅  最后修改于: 2021-01-11 06:15:33             🧑  作者: Mango
ER模型具有以概念上的分层方式表达数据库实体的能力。随着层次结构的发展,它概括了实体的视图,而当我们深入层次结构时,它为我们提供了所包含的每个实体的细节。
在这种结构中向上进行的称为泛化,其中实体合并在一起以代表更泛泛的视图。例如,可以将名为Mira的特定学生与所有学生一起推广。实体应为学生,并且该学生为人。反之称为专业化,其中一个人是学生,那个学生是Mira。
如上所述,归纳实体的过程(其中归纳实体包含所有归纳实体的属性)被称为归纳。一般而言,根据多个实体的相似特性,可以将它们整合在一起。例如,鸽子,麻雀,乌鸦和鸽子都可以概括为鸟类。
专业化与广义化相反。在专业化中,一组实体根据其特征分为子组。以小组“人”为例。一个人具有姓名,出生日期,性别等。这些属性在所有人(人类)中都很常见。但是在公司中,可以根据人员在公司中扮演的角色将其识别为员工,雇主,客户或供应商。
同样,在学校数据库中,可以根据个人在学校中扮演的角色,将他们专门化为老师,学生或教职员工。
我们使用ER-Model的所有上述功能,以便在面向对象的编程中创建对象类。实体的详细信息通常对用户隐藏;这个过程称为抽象。
继承是泛化和专业化的重要特征。它允许较低级别的实体继承较高级别的实体的属性。
例如,Person类的属性(例如名称,年龄和性别)可以由较低级别的实体(例如Student或Teacher)继承。