第5章 数据库设计与ER模型

更新时间:2023-07-20 09:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第五章 数据库设计和ER模型

本章重要概念(1)DBS生存期及其7个阶段的任务和工作, DBD过程的输入和输出。 (2)概念设计的重要性、主要步骤。逻辑设计 阶段的主要步骤。 (3)ER模型的基本元素,属性的分类,联系的 元数、连通词、基数。采用ER方法的概念设计 步骤。 (4)ER模型到关系模型的转换规则。采用ER方 法的逻辑设计步骤。 (5)ER模型的扩充:弱实体,超类和子类。

主要内容和学习要求

数据库设计概述(了解) 数据库设计的全过程(领会) ER模型 (综合应用) ER模型到关系模型的转换 (综合应用) ER模型实例分析 (理解) ER模型的扩充 (理解) 小结

5.1 数据库设计概论之一

软件工程人们认为,应该用科学知识、工程方面的纪律指导软件开发 的过程,以提高软件质量和开发效率,降低开发成本 。

软件生存期从软件的规划、研制、实现、投入运行后的维护,直到它被 新的软件所取代而停止使用的整个期间。

数据库工程 数据库系统生存期 数据库设计的输入输出

隶属关系

数据库应用系统从开始规划、设计、实现、维护到最后被新 的系统取代而停止使用的整个期间。

软件生存期

数据库生存期

规划 需求分析 系统设计

规划

需求分析概念设计 逻辑设计

程序编制

物理设计 实现 运行和维护

调试运行维护

总体信息需求

第1步 规划

处理需求 DBMS特征

第2步 需求描述和分析 需求说明书 第3步 概念设计 信息结构 (独立于硬件、软件) 第4步 逻辑设计 逻辑数据库结构 (DBMS能处理的) 应用程序说明书 第5步 物理设计 物理数据库结 构

数据库设 计的输入 输出

硬件和 OS特征

主要内容

5.1 数据库设计概述 5.2 数据库设计的全过程5.3 ER模型 5.4 ER模型到关系模型的转换 5.5 ER模型实例分析 5.6 ER模型的扩充 小结

5.2.1 规划阶段

目标规划阶段的三个步骤 系统调查:对企业组织作全面的调查,画出组织层次图,以了解 企业的组织结构

可行性分析从技术、经济、效益、法律等族方面对建立数据库的 可行性进行分析;写出可行性分析报告;组织专家进 行讨论其可行性

确定数据库系统的总目标和制定项目开发计划

5.2.2 需求分析

目标 需求分析工作

分析用户活动产生,产生业务流程图 确定系统范围,产生系统范围图 分析用户活动涉及的数据,产生数据流图

分析系统数据,产生数据字典

5.2.3 概念设计

目标 为什么需要概念设计 概念设计的主要步骤

进行数据抽象,设计局部概念模式 将局部

概念模式综合成全局概念模式 评审

应用1 概念要求

应用1 外模式1

应用2 外模式2

应用3 外模式3

应用2 概念要求 概念模式 逻辑模式

映像

应用3 概念要求 综合

转换 内模式

映像

图5.2 数据库的各级模式

5.2.4 逻辑设计返回到前面阶段

概念模式

导出初始DBMS模式说明

目标 逻辑设计步骤

子模式设计

应用程序设计草图

模式评价是

处理结 束 否是

模式修正

模式需要修 正否

进入物理设计阶段

图5.3 逻辑设计步骤

5.2.5 物理设计

目标 什么是数据库的物理结构 物理设计的步骤

存储记录结构设计 确定数据存放位置 存取方法的设计 完整性和安全性考虑 程序设计

5.2.6 数据库的实现

目标 实现数据库应做的主要工作

用DDL定义数据库结构; 组织数据入库;

对数据量不大的小型系统(人工)主要工作:筛选数据;转换数据格式;输入数据;校验数据。

对大中型系统(自动)主要工作:筛选数据;输入数据;校验数据;转换数据;综合 数据。

编制与调试应用程序; 数据库试运行。

功能测试 性能测试(时空代价)

5.2.7 数据库的运行与维护工作

数据库的转储和恢复 数据库安全性、完整性控制 数据库性能的监督、分析和改进 数据库的重组织和重构造

主要内容

5.1 数据库设计概述 5.2 数据库设计的全过程 5.3 ER模型5.4 ER模型到关系模型的转换 5.5 ER模型实例分析 5.6 ER模型的扩充 小结

5.3.1 ER模型概述

什么是ER模型 ER模型的历史 ER模型的基本元素

ER模型图例实体联系 属性

职号 姓名 性别 职称

实体 联系 属性 例子

学号 姓名 学 生 专业 班级

老 师

m

n

5.3.2 属性的分类 供应商 经销价格 省(市) 奖金 基本属性和复合属性(可否再分) 基本工资 区 名 名 代销价格 邮政编码 街 道 零件名 供应商 姓名 单值属性和多值属性(对一个实 房租 批发价格 零件名 规格 体对象是否只能取一个值) 零件编码 售货价格 销售性质价 零售价格 实发工资 进货价格地 址 格 工号 零件编码 多值属性的处理 规格 进货价格 家庭地址 门牌号码

将原来的多值属性用几个新的 单值属性来表示。 将原来的多值属性用一个新的 规格 实体类型表示 供应商零件名

1 零件

N 图5.4 地址属性的层次结构 职工 存在 零 件

销售价格

图5.8 导出属性的表示 图5.6 多值属性的变换(1) 进货价格 图5.7 多值属性的变换(2) 销售价格价 格

导出属性 零件编码 零件编码 空值

零件

图5.5 多值属性的表示

5.3.3 联系的

设计之一

联系集

联系集是n(n≥2)个实体集上的数学关系,这些实体集不 必互异。如果E1,E2,…,En为n个实体集,那么联系集 R是{(e1,e2,…,en)|e1∈E1 ,e2∈E2,…,en∈En} 的一个子集,而(e1,e2,…,en)是一个联系。

某商业集团中,商店、仓库、 工厂的零件之间存在着组合关系,一 问题:运动员根据其得分来排定名次。 商品之间的进货联系 种零件由许多种子零件组成,而一种 职工之间的上下级联系 在名次排列中,排在他前面只有一个 学校里规定每学期学生至少选修1门课程, 零件也可以是其他零件的子零件 人排在他后面也只有一个人 地址 仓库号 仓库名 最多选修6门课程;每门课程至多有50人选修,最少可以没人选修 零件号 零件名编号 学生 姓名 仓库 性别 规格 名次

联系的元数一个联系涉及到的实体集个数

工号

姓名 年龄 零件M M (1,6)运动员 职工 选课 进货

性别

数量

联系的连通词联系涉及到的实体集之间实体对应的方式

M 1 N 商店 数量 1

N 日期 N 1

N (0,50) 组成 课程 领导 顺序

实体的基数有两个实体集E1和E2,E1中每个实体与E2中有联系实体 的数目的最小值min和最大值max,称为E1的基数, 用(min,max)形式表示

P 商品

商店号

图5.13 联系的连通词和实体的基数

图5.10 一元联系中的1:N联系 图5.9 一元联系中的M:N联系 商店名 商品号 商品名 图5.11 一元联系中的1:1联系

图5.12 三元联系中的M:N:P联系

5.3.4 ER模型的操作包括实体类型、联系类型和属性的分裂、合并、增删等等教师号 教师 姓名 出生日期 1 职务 教师 工资 M 奖金 M

主讲

教师

主讲

辅导

(a) 教师号 N 课程 教师不变信息 (a)(b) (b) 图5.15 实体类型的垂直分裂 图5.16 联系类型的分裂 姓名 出生日期 教师号 职务 N 工资 课程 教师变动信息 N 奖金

5.3.5 采用ER方法的数据库概念设计

之设计局部ER模式需求分析结果

范围的划分要自然, 易于管理; 采用人们习惯的划分; 确定属性的原则: 避免冗余,在一个局部结 范围之间的界面要清晰, 属性应该是不可再分解的语义 构中,对一个对象只取一 相互影响要小 单位;实体与属性之间的关系只能 种抽象形式,不要重复; 是1:N的;不同实体类型的属性之间 范围的大小要适度。太小 应无直接关联关系。 依据用户的信息处理需求 了,会造成局部结构过多, 设计过程繁琐,综合困难; 太大了,则容易造成内部 属性分配的原则:

确定局部结构范围

实体定义

联系定义

属性分配

结构复杂,不便分析 当多个实体类型用到同一属性时, 一般把属性分配给那些使用频率最高 的实体类型

,或分配给实体值少的实 体类型。有些属性不宜归属于任一实体类 型,只说明实体之间联系的特性

有 还有局部 结构待分 析 无 进入全局ER模式设计

图5.18 局部ER模式设计

本文来源:https://www.bwwdw.com/article/rc31.html

Top