数据库系统原理
  • 数据库系统原理
  • 引言
    • 数据库系统概述
  • 关系模型介绍
    • 关系数据库结构
    • 数据库模式
    • 关系代数
      • 选择运算
      • 投影运算
      • 笛卡尔运算
      • 连接运算
      • 集合运算
      • 其他运算
  • SQL介绍
    • SQL语言分类
    • SQL数据类型
    • SQL数据库操作
    • SQL数据表操作
    • SQL数据操纵语言
    • SQL数据查询语言
    • 集合运算
    • 聚集函数
  • 中级SQL
    • 连接查询
    • 内连接
    • 外连接
    • 交叉连接和自连接
    • 视图
    • 完整性约束
    • SQL用户和授权
  • 高级SQL
    • 函数
    • 存储过程
    • 触发器
  • ER模式数据库设计
    • 数据库设计过程概览
    • 需求分析
    • 实体-联系模型
      • 复杂属性
      • 映射基数和弱实体集
    • 将E-R图转换为关系模式
    • E-R模型设计
  • 关系数据库设计
    • 数据库设计规范化
    • 函数依赖理论
    • 关系范式
  • 半结构化数据
    • 半结构化数据
  • 应用程序开发
    • ADO.NET访问数据库技术
    • 断开模式数据查询
    • 连接模式数据更新
  • 数据存储结构
    • 磁盘
    • 文件的存储
    • 文件的逻辑结构
    • 文件组织
  • 索引
    • 索引基本概念
    • B树索引
    • B+树索引
    • MySQL索引的基本语法
    • 联合索引
  • 查询处理
    • 查询处理概述
  • 查询优化
    • 查询优化概述
    • 查询树的启发式优化(代数优化算法)
  • 事务
    • 事务的概念
    • 事务的特性
    • MySQL事务处理
    • 可串行化
  • 并发控制
    • 并发控制概述
    • 封锁
    • 两阶段封锁协议封锁
    • 多粒度封锁
    • 活锁和死锁
    • 基于时间戳排序的并发控制
    • 乐观控制法
  • 恢复系统
    • 数据库恢复概述
    • 数据库恢复的实现技术
    • 基于检查点的数据库恢复
Powered by GitBook
On this page
  • 概念设计任务
  • E-R模型转化方法
  • 强实体集转化方法
  • 弱实体集转化方法
  • 联系集一般转化方法
  • 一对多或多对一联系集的转化
  • 标识联系集的转化
  • 复合属性转化方法
  • 类层次转化两种方法
  • 聚合的转化方法
  1. ER模式数据库设计

E-R模型设计

概念设计任务

概念设计(E-R模型):根据需求分析规格说明书完成如下任务:

  • 定义实体集及属性,实体集的主码,并用数据字典描述实体集;

  • 定义联系集及属性,联系集的主码,联系的映射基数及参与约束,联系中实体的角色,并用E-R图描述被建模的联系集;

  • 分析初步E-R图中是否存在依赖约束、多值联系,并将其建模为依赖实体集或弱实体集;

  • 利用扩展E-R特征对对象进行分类及聚合(建模为联系实体集);

  • 将多元联系转化为二元联系进行建模(联系实体集、依赖实体集或弱实体集);

  • 去除冗余数据,并保证满足所有数据需求不冲突;

  • 对照需求分析规格说明书,检查E-R模型,看其是否包含来所有数据、能否满足所有功能需求等。

E-R模型转化方法

E-R模型(概念建模)和关系模型(逻辑建模)都是对现实世界的抽象。而E-R模型只是描述数据库的概念模型,若要被关系数据库所接受,必须进行信息转化,即将E-R模型转化为关系数据库所支持的逻辑模型——数据库模式(关系模式的集合)。

强实体集转化方法

将强实体集映射成关系模式很直接,只需将实体集的每个属性对应为关系模式的属性,实体集的码作为关系模式的码。

弱实体集转化方法

联系集一般转化方法

一对多或多对一联系集的转化

可不转化为单独的关系模式,而采用下列方法转化:

  • 若A到B联系集为一对多联系,则在由B(多的一方)转化的关系模式中增加A的主码属性作为参照A主码的外码,同时将联系属性也放入由B(多的一方)转化的关系模式中。

  • 若A到B联系集为一对一联系,则将某一方的主码属性增加到另一方实体集所转化的关系模式中去(外码)。

标识联系集的转化

不需转化为任何关系模式

复合属性转化方法

应为每个子属性创建一个单独的属性,而不是为复合属性自身创建一个单独的属性。

类层次转化两种方法

  • 父类实体集和所有的子类实体集分别转化为单独的模式。其中,父类实体集对应的关系模式属性为父类实体集的属性(即公共属性);而各子类实体集对应的模式由该子类实体集的特殊属性和父类实体集的主码属性组成,各子类实体集的主码与父类实体集的主码相同。

  • 只将所有的子类实体集转化为关系模式,其属性由父类实体集的公共属性和各子类实体集的特殊属性组成。

聚合的转化方法

  • 聚合是一种抽象,内层联系集、外层联系集都是按其映射基数决定是否需要单独转化为一个独立的关系模式(多对多联系集才需要)。

  • 外层联系集的主码根据映射基数不同分别由内层联系集(即联系实体集)的主码、外层实体集的主码按照不同方式产生。

Previous将E-R图转换为关系模式Next数据库设计规范化

Last updated 4 months ago

内外层联系都为多对多
内层联系集一对多,外层联系集多对多
内层联系多对多,外层联系多对一
内层联系多对多,外层联系一对多
内层联系一对多,外层联系多对一
内层联系一对多,外层联系一对多