《数据库系统概念》11-扩展的E-R特性

​虽然基本的E-R特性能够应对大部分数据库建模,但为了使用方便,也提供扩展的E-R特性

1、特化Specialization
有时一个实体集会保护若干子集,这些子集各自具备不一样的属性。好比person能够包含employee和student子集,这些子集在person自己属性的基础上,附加了特殊的属性,employee会有salary属性,student会有score属性。特化就是在实体集内部分组的过程。
在E-R模型中特化用从特化实体指向被特化实体的空心箭头线表示,叫作ISA联系,既“is a”,好比从employee指向person,也既employee is a person。
有些实体集能够有不一样的特化方式,employee能够特化为instructor、secretary,也能够特化为temporary_employee、permanent_employee,这样一个employee多是一个instructor的同时也是一个permanent_employee,这种一个实体能够属于多个实体集的特化称为重叠特化(overlapping specialization),只能属于一个实体集的特化则称为不相交特化(disjoint specialization)。重叠特化用两个独立的空心箭头,不相交特化使用一个箭头。

2、概化(Generalization)
a)特化是在自顶向下(top-down)的设计过程当中,显式地将初始实体分为一系列不一样级别子实体的过程。设计过程也能够是自底向上(bottom-up)的,将一系列低级别的实体合成为具备基本属性的顶层实体,这即是概化,高层实体集与一个或多个低层实体集之间为包含关系。高层与低层实体集也能够分别称为超类(superclass)和子类(subclass)。
b)属性继承(Attribute Inheritance)
由特化和概化产生的高层和低层实体的一个重要特性是属性集成,高层实体集的属性被低层实体集继承,因此高层实体集的属性适用于低层实体集,但反之则不成立。

3、概化的约束
a)条件定义的
在条件定义的低层实体集中,根据实体是否知足某个特定的条件来肯定成员资格。好比经过student.student_type=granduate/undergranted来区分子实体是本科生仍是研究生。
b)用户定义的
用户定义的低层实体集由数据库用户自行决定实体的划分。好比将教师分为几个教学组,employee的划分方式由用户决定。
c)完整性约束(completeness constraint)
所有概化\特化:每一个高层实体必须属于一个低层实体集;
部分概化\特化:不是全部高层实体都有属于的低层实体集。
这在数据插入、删除上会带来区别。


学习资料:Database System Concepts, by Abraham Silberschatz, Henry F.Korth, S.Sudarshan


 数据库

相关文章
相关标签/搜索