数据库系统概念总结:第七章 数据库设计和E-R模型

周末无事水文章,期末备考的总结资料

第七章 数据库设计和E-R模型

7.1 设计过程概览

7.1.1 设计阶段

  • 需要完整地刻画未来数据库用户的数据需求
  • 选择数据模型,并采用所选数据模型的概念将这些需求转化为数据库的概念模式
  • 完善的概念模式还指明企业的功能需求
  • 将高层概念模式映射到将使用的数据库系统的实现数据模式上。实现数据模型通常是关系数据模型,该阶段通常包括将以实体-联系模型定义的概念模式映射到关系模式
  • 将所得到的系统特定的数据库模式使用到后续的物理设计阶段

7.1.2 设计选择

  • 需要避免的两个问题:
    –冗余
    –不完整

7.2 实体-联系(entity-relationship,E-R)模型

7.2.1 实体集

  • 实体:现实世界中可区别与所有其他对象的一个“事务”或“对象”
  • 实体集:相同类型即具有相同性质(或属性)的一个实体集合

7.2.2 联系(relationship)集

  • 联系:指多个实体间的相互关联
  • 联系集:相同类型联系的集合

7.2.3 属性

  • 按属性类型进行划分:
    –简单和复合属性
    –单值和多值属性
    –派生属性

7.3 约束

7.3.1 映射基数

  • 映射基数(mapping cardinality):表示一个实体通过一个联系集能关联的实体的个数
    –一对一
    –一对多
    –多对一
    –多对多

7.3.2 参与约束

  • 如果实体集E中的每个实体都参与到联系集R的至少一个联系中,实体集E在联系集R中的参与称为全部的;若只有部分参与则称为部分的。

7.3.3 码

  • 参照第二章总结

7.4 从实体集中删除冗余属性

7.5实体-联系图

7.5.1 主要构件

  • 分成两部分的矩形:实体集
  • 菱形:联系集
  • 未分割的矩形:联系集的属性
  • 线段:实体集连接到联系集
  • 双线:实体在联系集中的参与度
  • 双菱形:连接到弱实体集的标志性联系集
    数据库系统概念总结:第七章 数据库设计和E-R模型_第1张图片

7.5.2 映射基数

  • 例子
    数据库系统概念总结:第七章 数据库设计和E-R模型_第2张图片
  • 基数约束
    在这里插入图片描述
    –图中0…*说明导师可以有零个或多个学生
    –图中1…1说明每个学生有且只有一个导师

7.5.3 复杂的属性

7.5.4 角色

  • 在菱形和矩形之间的连线上进行标注来表示角色
    数据库系统概念总结:第七章 数据库设计和E-R模型_第3张图片

7.5.5 非二元的联系集

数据库系统概念总结:第七章 数据库设计和E-R模型_第4张图片

7.5.6 弱实体集

  • 定义:没有足够的属性以形成主码的实体集称作弱实体集(weak entity set)
  • 弱实体集必须与另一个称作标识(identifying)或属主实体集(owner entity set)的实体集关联才能有意义。标示性联系是从弱实体集到标识实体集多对一的,并且弱实体集在联系中的参与是全部的
  • 例子
    在这里插入图片描述
    –弱实体集的分辨符以虚下划线标明,而不是实线
    –关联弱实体集和标识性强实体集的联系集以双菱形表示

7.6 转换为关系模式

7.6.1 具有简单属性的强实体集的表示

7.6.2 具有复杂属性的强实体集的表示

7.6.3 弱实体集的表示

7.6.4 联系集的表示

7.7 实体-联系设计问题

7.7.1 用实体集还是用属性

  • 选择主要取决于被建模的enterprise 的结构,以及与所讨论的属性相关的语义。

7.7.2 用实体集还是用联系集

  • 可能的准则是指定一个关系集来描述实体之间发生的动作

7.7.3 二元还是n元联系集

  • 虽然可以用许多不同的二元关系集替换任何非二元(n元,n> 2)关系集,但是n元关系集更清楚地表明几个实体参与单一关系

7.7.4 联系属性的布局

  • 一个联系的映射技术比率会影响联系属性的布局。英雌,一对一或一对多联系集的属性可以放到一个参与该联系的实体集中,而不是联系集中

7.8扩展的E-R特性

7.8.1 特化(Specialization)

  • 在实体集内部进行分组的过程称为特化
  • 自顶向下

7.8.2 概化(Generalization)

  • 概化是高层实体集与一个或多个底层实体集间的包含关系。对于所有实际应用来说,概化是特化的逆过程
  • 自底向上

7.8.3 属性继承(Attribute Inheritance)

  • 它是由特化和概化所产生的高层和底层实体的一个重要特性,高层实体集的属性被底层实体集继承

7.8.4 概化上的约束(Constraint)

  • 哪些实体能成为给定低层实体集的成员
    –条件定义的(condition-defined):低层实体集中,成员资格的确定基于实体集是否满足一个显示的条件或谓词
    –用户定义的(user-defined):由数据库用户将实体指派给某个实体集
  • 在一个概化中的实体是否可以属于多个低层实体集
    –不相交(disjoint):要求一个实体至多属于一个低层实体集
    –重叠(overlapping):同一个实体可以同时属于同一个概化中的多个底层实体集
  • 对概化的完全性约束(completeness constraint)
    –全部概化或特化:每个高层实体必须属于一个低层实体集
    –部分概化或特化:允许一些高层实体不属于任何低层实体集

7.8.5 聚类(Aggregation)

  • 聚类是一种抽象,通过这种抽象,联系被视为高层实体

7.9 数据建模的其他表示法

7.9.1 E-R图的其他表示法

数据库系统概念总结:第七章 数据库设计和E-R模型_第5张图片
数据库系统概念总结:第七章 数据库设计和E-R模型_第6张图片

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