[数据库系统]第3讲 ER模型设计知识点整理

第1节 数据库设计过程

数据库设计的基础条件(前提/数据源)

  • 清楚一个应用系统的功能需求与数据需求(直接与用户交互/数据流程图示例/UML类图等)

数据库设计的核心阶段:

  1. 数据库建模阶段(概念设计)

    根据数据需求->建立概念模型(便于面向用户交互)

  2. 数据库逻辑结构设计阶段(逻辑设计)

    基于概念模型->形成商业产品支持的逻辑模型(面向计算机逻辑实现)

  3. 数据库物理组织设计阶段(物理设计)
    根据逻辑模型->确定适合应用要求的物理模型(面向计算机物理实现)

数据库设计的后期工作(数据库实现)

根据设计的逻辑模型和物理模型实际的数据库结构(比如:采用SQL定义语言,实际创建关系模式)

设计选择

在设计一个数据库模式的时候,我们必须确保避免两个主要的缺陷:

  1. 冗余:一个不好的设计可能会重复信息。
  2. 不完整:一个不好的设计可能会使得企事业机构的某些方面难于甚至无法建模。

第2节 E-R模型的基本组成

E-R模型有什么作用

  1. 有助于数据库设计
  2. 是一种语义模型,模型的语义方面主要体现在模型力图去表达数据的意义
  3. 提供了在数据库设计过程中如何表示实体以及实体间联系的方法
  4. 有助于将现实世界的含义和相互关联映射到概念模式方面

E-R模型与E-R图有什么区别

  • E-R模型是一种描述方法
  • E-R图采用E-R模型方法,对一具体应用的描述结果

E-R模型有哪些基本要素?

  • 基本要素包括实体集和联系
    • 实体集&属性(矩形): 描述数据内部结构,具有相同属性的实体具有相同的特征和性质,包括实体和属性
    • 联系集(菱形及连线): 描述外部结构,联系也称关系,在信息世界中反映实体内部或实体之间的联系

实体集

  • 实体: 是现实世界中可区别于所有其他对象的一个“事物”或”对象“

  • 相关类型实体(对象)的集合

联系集

  • 联系: 是指多个实体间的相互关联

  • 相关类型联系(连线)的集合

超码

  • 一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体。

候选码

  • 如果任意超码的真子集不能包括超码,则称其为候选码;超码包括候选码。

主码

  • 被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。

第3节 E-R模型中联系集的类型

常见的联系集类型(映射基数)分为一对一、一对多和多对多

[数据库系统]第3讲 ER模型设计知识点整理_第1张图片

第4节 E-R图的绘制

如何建立ER图?

  • 两种方式:第一种是从需求分析阶段得到的数据流图(DFD)和数据字典(DD)来建立模型;第二种是根据对现实世界的理解,直接进行建模。当数据库应用的业务逻辑简单易懂时,可以直接使用第二种

第5节 复合属性与多元联系集

[数据库系统]第3讲 ER模型设计知识点整理_第2张图片

E-R模型可描述任何复杂客观对象,实体集可以是任何一种复杂数据结构

  • 因为:E-R模型重点是面向客观世界,建立易于用户理解的抽象数据模型(它不关心数据如何才能够被实际存储)

什么是多元联系集和角色?

  • 一个联系相关的有多个实体集
  • 每一个连线代表一个不同角色

多元联系集描述可否转换为二元联系集描述?

  • 转换规则如下:
    多元联系的二元分解(实体集间的关系):
    对多元联系集R中每个实体(ai,bi,ci):
    创建实体集E中的一个新实体ei=(ai,bi,ci)
    添加(ei,ai)到二元联系集RA
    添加(ei,bi)到二元联系集RB……

[数据库系统]第3讲 ER模型设计知识点整理_第3张图片

第6节 E-R图设计问题

E-R图设计时有哪些问题需要考虑?

  • 描述一个概念应该用实体还是属性,用实体还是实体集,用实体集还是联系集,如用联系集,应该用二元联系还是多元联系。

多对一或一对一联系的属性,一般放在实体集中

如何处理多值属性和复合属性

  1. 将原来的多值属性用几个单值属性来代替
  2. 将原来的多值属性用一个新的实体来代替

什么是弱实体集

  • 有键的实体称为强实体,无键的实体称为弱实体。
  • 弱实体的存在依赖于主实体。弱实体区分各个实体的属性集合称为鉴别键或偏键。弱实体集的主键由所依赖的强实体主键加上弱实体的鉴别键构成。
  • 在E-R图上用双矩形表示弱实体集,其鉴别键加下划虚线。

联系集还是实体集

  • 设计原则:通常地,采用联系来表示发生在两个实体集之间的一个动作,如选课!如果仅描述学生选课,用选课联系(方法1)。但如果强调学生为上何课程,要求到教务办去报名注册,则应用一个实体集及两个联系(方法2)。

[数据库系统]第3讲 ER模型设计知识点整理_第4张图片

第7节 扩展E-R模型

特化与概化(特殊化与一般化)

  • 特化:自顶向下的设计过程
  • 概化:自底向上的设计过程
    • 部分概化:允许父实体不属于任何子实体集(缺省表示)
    • 全部概化:每个父实体必属于某一子实体集(采用标识total)

扩展E-R模型的特性

  • 特殊化: 实体集中某些子集具有区别于该实体集内其他实体的特性,可以根据这些差异特性对实体集进行分组,这一分组的过程称为特殊化。
  • 概括: 各个实体集根据共有的性质,合成一个较高层的实体集。概括是一个高层实体集与若干个底层实体集之间的包含关系。自底向上,逐步合成
  • 属性继承: 高层实体集的属性被底层实体集自动继承。底层实体集特有的性质仅适用于某个特定的低层实体集
  • 聚集: 联系之间存在重叠,如何表达联系之间的联系?聚集是一种抽象,通过它联系被作为实体集。实体集A与B以及它们的联系可被看成另一实体集C,使用聚集来消除冗余。

聚集

  • 聚集是一种抽象:它将联系集(及其相关实体集)看着是一个更高层的抽象实体集
  • 例中,抽象的“proj_guide实体集”包含了project_guide联系集、以及instructor,student,project实体集(看着是一个具有复杂构造的实体集)
  • [数据库系统]第3讲 ER模型设计知识点整理_第5张图片

第8节 概念设计

概念设计的作用是什么?

  • 概念:将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念设计结构设计。
  • 概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS,是现实世界的一个真实模型,易于理解,便于和不熟悉计算机的用户交换意见,使用户易于参与。

概念设计包括哪些步骤

  1. 局部E-R模式设计
  2. 全局E-R模式设计
  3. 全局E-R模式优化

你可能感兴趣的:(数据库系统)