美文网首页数据库知识点程序员
《数据库系统概念》11-扩展的E-R特性

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

作者: zhixin9001 | 来源:发表于2017-12-11 21:00 被阅读2次

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

    一、特化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)。重叠特化用两个独立的空心箭头,不相交特化使用一个箭头。

    二、概化(Generalization)

    a)特化是在自顶向下(top-down)的设计过程中,显式地将初始实体分为一系列不同级别子实体的过程。设计过程也可以是自底向上(bottom-up)的,将一系列低级别的实体合成为具有基本属性的顶层实体,这便是概化,高层实体集与一个或多个低层实体集之间为包含关系。高层与低层实体集也可以分别称为超类(superclass)和子类(subclass)。

    b)属性继承(Attribute Inheritance)

    由特化和概化产生的高层和低层实体的一个重要特性是属性集成,高层实体集的属性被低层实体集继承,所以高层实体集的属性适用于低层实体集,但反之则不成立。

    三、概化的约束

    a)条件定义的

    在条件定义的低层实体集中,根据实体是否满足某个特定的条件来确定成员资格。比如通过student.student_type=granduate/undergranted来区分子实体是本科生还是研究生。

    b)用户定义的

    用户定义的低层实体集由数据库用户自行决定实体的划分。比如将教师分为几个教学组,employee的划分方式由用户决定。

    c)完整性约束(completeness constraint)

    全部概化\特化:每个高层实体必须属于一个低层实体集;

    部分概化\特化:不是所有高层实体都有属于的低层实体集。

    这在数据插入、删除上会带来区别。

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

    相关文章

      网友评论

        本文标题:《数据库系统概念》11-扩展的E-R特性

        本文链接:https://www.haomeiwen.com/subject/thuwixtx.html