[数据库系统]第2章ER模型设计知识点整理
第2章 ER模型设计
第1节 E-R模型的基本组成
E-R模型有什么作用
- 有助于数据库设计
- 是一种语义模型,模型的语义方面主要体现在模型力图去表达数据的意义
- 提供了在数据库设计过程中如何表示实体以及实体间联系的方法
- 有助于将现实世界的含义和相互关联映射到概念模式方面
E-R模型与E-R图有什么区别
- E-R模型是一种描述方法
- E-R图采用E-R模型方法,对一具体应用的描述结果
E-R模型有哪些基本要素?
- 基本要素包括实体集和联系
- 实体集&属性(矩形): 描述数据内部结构,具有相同属性的实体具有相同的特征和性质,包括实体和属性
- 联系集(菱形及连线): 描述外部结构,联系也称关系,在信息世界中反映实体内部或实体之间的联系
实体集
- 相关类型实体(对象)的集合
联系集
- 相关类型联系(连线)的集合
超码
- 一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体。
候选码
- 如果任意超码的真子集不能包括超码,则称其为候选码;超码包括候选码。
主码
- 被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。
第2节 E-R模型中联系集的类型
常见的联系集类型(映射基数)分为一对一、一对多和多对多
第3节 E-R图的绘制
如何建立ER图?
- 两种方式:第一种是从需求分析阶段得到的数据流图(DFD)和数据字典(DD)来建立模型;第二种是根据对现实世界的理解,直接进行建模。当数据库应用的业务逻辑简单易懂时,可以直接使用第二种
第4节 复合属性与多元联系集
E-R模型可描述任何复杂客观对象,实体集可以是任何一种复杂数据结构
- 因为:E-R模型重点是面向客观世界,建立易于用户理解的抽象数据模型(它不关心数据如何才能够被实际存储)
什么是多元联系集和角色?
- 一个联系相关的有多个实体集
- 每一个连线代表一个不同角色
多元联系集描述可否转换为二元联系集描述?
- 转换规则如下:
多元联系的二元分解(实体集间的关系):
对多元联系集R中每个实体(ai,bi,ci):
创建实体集E中的一个新实体ei=(ai,bi,ci)
添加(ei,ai)到二元联系集RA
添加(ei,bi)到二元联系集RB……
第5节 E-R图设计问题
E-R图设计时有哪些问题需要考虑?
- 描述一个概念应该用实体还是属性,用实体还是实体集,用实体集还是联系集,如用联系集,应该用二元联系还是多元联系。
多对一或一对一联系的属性,一般放在实体集中
如何处理多值属性和复合属性
- 将原来的多值属性用几个单值属性来代替
- 将原来的多值属性用一个新的实体来代替
什么是弱实体集
- 有键的实体称为强实体,无键的实体称为弱实体。
- 弱实体的存在依赖于主实体。弱实体区分各个实体的属性集合称为鉴别键或偏键。弱实体集的主键由所依赖的强实体主键加上弱实体的鉴别键构成。
- 在E-R图上用双矩形表示弱实体集,其鉴别键加下划虚线。
联系集还是实体集
- 通常采用联系来表示发生在两个实体集之间的一个动作,如选课。如果仅描述学生选课,用选课联系。但如果强调学生为上何课程,要求到教务处去报名注册,则应用一个实体集及两个联系。
第6节 扩展E-R模型
特化与概化(特殊化与一般化)
- 特化:自顶向下的设计过程
- 概化:自底向上的设计过程
扩展E-R模型的特性
- 特殊化: 实体集中某些子集具有区别于该实体集内其他实体的特性,可以根据这些差异特性对实体集进行分组,这一分组的过程称为特殊化。
- 概括: 各个实体集根据共有的性质,合成一个较高层的实体集。概括是一个高层实体集与若干个底层实体集之间的包含关系。自底向上,逐步合成
- 属性继承: 高层实体集的属性被底层实体集自动继承。底层实体集特有的性质仅适用于某个特定的低层实体集
- 聚集: 联系之间存在重叠,如何表达联系之间的联系?聚集是一种抽象,通过它联系被作为实体集。实体集A与B以及它们的联系可被看成另一实体集C,使用聚集来消除冗余。
聚集
- 聚集是一种抽象:它将联系集(及其相关实体集)看着是一个更高层的抽象实体集
- 例中,抽象的“proj_guide实体集”包含了project_guide联系集、以及instructor,student,project实体集(看着是一个具有复杂构造的实体集)
第7节 概念设计
概念设计的作用是什么?
- 概念:将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念设计结构设计。
- 概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS,是现实世界的一个真实模型,易于理解,便于和不熟悉计算机的用户交换意见,使用户易于参与。
概念设计包括哪些步骤
- 局部E-R模式设计
- 全局E-R模式设计
- 全局E-R模式优化