第五章 数据库设计和 ER模型本章重要概念
( 1) DBS生存期及其 7个阶段的任务和工作,
DBD过程的输入和输出 。
( 2) 概念设计的重要性,主要步骤 。 逻辑设计阶段的主要步骤 。
( 3) ER模型的基本元素,属性的分类,联系的元数,连通词,基数 。 采用 ER方法的概念设计步骤 。
( 4) ER模型到关系模型的转换规则 。 采用 ER方法的逻辑设计步骤 。
( 5) ER模型的扩充:弱实体,超类和子类。
主要内容和学习要求
数据库设计概述(了解)
数据库设计的全过程(领会)
ER模型 (综合应用)
ER模型到关系模型的转换 (综合应用)
ER模型实例分析 (理解)
ER模型的扩充 (理解)
小结
5.1 数据库设计概论之一
软件工程人们认为,应该用科学知识、工程方面的纪律指导软件开发的过程,以提高软件质量和开发效率,降低开发成本 。
软件生存期从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间 。
数据库工程
数据库系统生存期数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间 。
数据库设计的输入输出隶属关系规划需求分析系统设计程序编制调试运行维护 运行和维护实现物理设计逻辑设计概念设计需求分析规划软件生存期 数据库生存期处理需求
DBMS特征总体信息需求第 5步物理设计第 3步概念设计第 4步逻辑设计第 1步规划第 2步需求描述和分析硬件和
OS特征物理数据库结构需求说明书信息结构
( 独立于硬件,软件 )
逻辑数据库结构
( DBMS能处理的 )
应用程序说明书数据库设计的输入输出主要内容
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 概念设计
目标
为什么需要概念设计
概念设计的主要步骤
进行数据抽象,设计局部概念模式
将局部概念模式综合成全局概念模式
评审图 5.2 数据库的各级模式应用 1 应用 3应用 2
概念模式概念要求概念要求概念要求应用 1
应用 3
应用 2
逻辑模式内模式外模式 3外模式 2外模式 1
综合转换映像映像
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 属性的分类
基本属性和复合属性(可否再分)
单值属性和多值属性(对一个实体对象是否只能取一个值)
多值属性的处理
将原来的多值属性用几个新的单值属性来表示。
将原来的多值属性用一个新的实体类型表示
导出属性
空值图 5.4 地址属性的层次结构邮政编码省(市)
名地 址区 名街 道家庭地址 门牌号码图 5.5 多值属性的表示零件编码零 件零件名供应商 规格进货价格销售价格价格图 5.8 导出属性的表示工号职 工姓名基本工资 奖金房租实发工资图 5.6 多值属性的变换 ( 1)
零件编码零 件零件名供应商规格 进货价格经销价格代销价格批发价格零售价格图 5.7 多值属性的变换 ( 2)
零件编码零 件零件名供应商规格进货价格 销售性质价 格 售货价格存在 销售价格
1 N
零件编码
5.3.3 联系的设计之一
联系集联系集是 n( n≥ 2) 个实体集上的数学关系,这些实体集不必互异 。 如果 E1,E2,…,En为 n个实体集,那么联系集
R是 {(e1,e2,…,en) |e1∈E 1,e2∈E 2,…,en∈En}
的一个子集,而 ( e1,e2,…,en) 是一个联系 。
联系的元数一个联系涉及到的实体集个数
联系的连通词联系涉及到的实体集之间实体对应的方式
实体的基数有两个实体集 E1和 E2,E1中每个实体与 E2中有联系实体的数目的最小值 min和最大值 max,称为 E1的基数,
用( min,max)形式表示问题:运动员根据其得分来排定名次。
在名次排列中,排在他前面只有一个人排在他后面也只有一个人运动员编号 姓名 性别 名次顺序
1 1
图 5.9 一元联系中的 1:1联系职工之间的上下级联系职工工号 姓名 年龄 性别领导
1 N
图 5.10 一元联系中的 1:N联系工厂的零件之间存在着组合关系,一种零件由许多种子零件组成,而一种零件也可以是其他零件的子零件零件零件号 零件名 规 格数量组成
M N
图 5.11 一元联系中的 M:N联系某商业集团中,商店、仓库、
商品之间的进货联系图 5.12 三元联系中的 M:N:P联系仓库商品商店仓库号 仓库名 地址数量商店号 商品名商品号商店名日期进货
M
N P
学校里规定每学期学生至少选修 1门课程,
最多选修 6门课程;每门课程至多有 50人选修,最少可以没人选修图 5.13 联系的连通词和实体的基数学生课程选课
M( 1,6)
N( 0,50)
5.3.4 ER模型的操作包括实体类型、联系类型和属性的 分裂,合并,增删 等等教师号 姓名 出生日期 职务 工资 奖金教师
( a)
教师号 姓名 出生日期教师不变信息职务 工资 奖金教师号教师变动信息
( b)
图 5.15 实体类型的垂直分裂教师课程主讲 辅导
1 M
N N
图 5.16 联系类型的分裂教师课程主讲
M
N
( a) ( b)
图 5.17 不合法的合并
B
(a)
A
C
A-C B-C
A
C
A-B-C
(b)
B
5.3.5 采用 ER方法的数据库概念设计之 设计局部 ER模式需求分析结果确定局部结构范围实体定义联系定义属性分配还有局部结构待分析有无 进入全局 ER模式设计图 5.18 局部 ER模式设计范围的划分要自然,
易于管理;
范围的大小要适度。太小了,会造成局部结构过多,
设计过程繁琐,综合困难;
太大了,则容易造成内部结构复杂,不便分析范围之间的界面要清晰,
相互影响要小采用人们习惯的划分;
避免冗余,在一个局部结构中,对一个对象只取一种抽象形式,不要重复;
依据用户的信息处理需求确定属性的原则:
属性应该是不可再分解的语义单位;实体与属性之间的关系只能是 1:N的;不同实体类型的属性之间应无直接关联关系。
属性分配的原则:
当多个实体类型用到同一属性时,
一般把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实体类型。
有些属性不宜归属于任一实体类型,只说明实体之间联系的特性局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析教师子模块
…… 局部 ER图其他局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析学生子模块 ……
导师班级学生组成管理班主任档案材料 宿舍住宿归档指导系 有参加学会
1 N 1 1
1
N
N
N 1
1
N
M
N 1
具有社会关系
1
N
局部 ER图其它局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析课程子模块
……
局部 ER图图 5.22 课程管理局部应用分 E-R图
1
教室
M
1
教科书 教师担任课程系 开设
N1
学生选修
N MN
上课
P N
5.3.5 采用 ER方法的数据库概念设计之 设计全局 ER模式无图 5.20全局 ER模式设计局部 ER模式确定公共实体类型合并两个局部 ER模式检查并消除冲突还有未合并的局部模式有还有冲突吗 有属性冲突,如,重量单位有的用公斤,有的用克。
结构冲突,同一对象在不同应用中的不同抽象 ; 同一实体在不同局部 ER图中属性的个数或次序不同 ;
实体之间的联系在不同的局部 ER图中呈现不同的类型命名冲突,属性名、实体名、联系名之间存在同名异义或异名同义冲突
5.3.5 采用 ER方法的数据库概念设计之全局 ER模式的优化
实体类型的合并
1:1联系的两个实体类型
具有相同键的实体类型
冗余属性的消除
冗余联系的消除,利用规范化理论中函数依赖的概念消除冗余联系例子:三个局部 ER图合并成一个 ER图
1
1
N
1
P
1N
1
N
1 N
1
M
M NN
N
N
社会关系具有
1
N
N
M
1
系聘用承接项目参加设置院长 学院主管
N
N
1
1
1
教师评定职称分配工作量
1 1
1
N
档案材料归档参加学会
1
宿舍住宿教科书担任指导课程选修教室上课有
1
班级学生组成
N
开设
N
管理
1
1
教师管理
1
1
主要内容
5.1 数据库设计概述
5.2 数据库设计的全过程
5.3 ER模型
5.4 ER模型到关系模型的转换
5.5 ER模型实例分析
5.6 ER模型的扩充
小结
5.4.1 ER图转换成关系模式集的规则
将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键
二元联系类型的转换
若实体间联系是 1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。
若实体间联系是 1:N,则在 N端实体类型转换成的关系模式中加入 1端实体类型的键和联系类型的属性。
若实体间联系是 M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合
一元联系类型的转换,同二元联系
三元联系类型的转换总是将三元联系类型转换成关系模式,其属性为三端实体类型的键加上联系类型的属性,而键为三端实体键的组合 。
ER模型到关系模型的转换实例运动员编号 姓名 性别 名次顺序
1 1
职工工号 姓名 年龄 性别领导
1 N
运动员 ( 编号,姓名,性别,名次,
上一名次编号,下一名次编号 )
职工 ( 工号,姓名,年龄,性别,经理工号 )
ER模型到关系模型的转换实例零件零件号 零件名 规 格数量组成
M N
仓库商品商店仓库号 仓库名 地址数量商店号 商品名商品号商店名日期进货
M
N P
零件 ( 零件号,零件名,规格 )
组成( 零件号,子零件号,数量)
仓库 ( 仓库号,仓库名,地址 )
商店 ( 商店号,商店名 )
商品 ( 商品号,商品名 )
进货( 商店号,商品名,仓库号,日期,数量)
5.4.2 采用 ER方法的逻辑设计步骤图 5.25 关系数据库的逻辑设计关系模式规范化模式评价是否需要修正从 ER模式导出初始数据库模式处理需求 ER模式 DBMS特征用 DBMS语法描述模式修正进入物理设计阶段是否主要内容
5.1 数据库设计概述
5.2 数据库设计的全过程
5.3 ER模型
5.4 ER模型到关系模型的转换
5.5 ER模型实例分析
5.6 ER模型的扩充
小结例 1 库存销售信息管理系统的
ER模型及转换
P
车间仓位产品客户销售员存储出库订单入库
M
N M
P
M
N
P
M
N
N
库存系统 ER图车间 (车间号,车间名,主任名 )
产品 (产品号,产品名,单价 )
仓位 (仓位号,地址,主任名 )
客户 (客户号,客户名,联系人,电话,
地址,税号,账号 )
销售员 (销售员号,姓名,性别,学历,业绩)
实体入库( 入库单号,入库量,入库日期,经手人,
车间号,仓位号,产品名 )
出库( 出库单号,出库量,出库日期,经手人,
客户号,产品名,仓位号 )
订单( 订单号,数量,折扣,总价,订单日期,
产品号,客户号,销售员号 )
存储 (仓位号,产品号,核对日期,核对员,存储量 )
联系例 2,公司车队信息系统的 ER模型图 5.27 公司车队信息系统的 ER模型部门 车队 司机车辆开销维修公司调用报销拥有聘用保险 2
保险 1
M 1 N
N1 N
N
N
N
1
1
保险公司
1N
维修主要内容
5.1 数据库设计概述
5.2 数据库设计的全过程
5.3 ER模型
5.4 ER模型到关系模型的转换
5.5 ER模型实例分析
5.6 ER模型的扩充
小结
5.6.1 弱实体
什么是弱实体
弱实体的表示方法
包含弱实体的 ER图转换成关系模式问题,在人事管理系统中,亲属的存在是以职工的存在为前提,即亲属对于职工具有依赖联系,所以说,亲属是弱实体职 工社会关系具有
1
N
ER
图职工 ( 职工号,职工姓名,性别,年龄 )
亲属 ( 职工号,称呼,姓名,工作单位)
关系模式问题,商业应用系统中,顾客地址的存在依赖于顾客的存在 (一般顾客可以有若干个联系地址)
ER
图顾 客地 址通讯
N
1
5.6.2 子类实体与超类实体
什么是子类和超类
子类和超类的性质
子类与超类之间具有继承性,但子类本身还能包含比超类更多的属性。
子类和超类有相同的标识符人员教师本科生学生研究生学校人事系统中实体之间的联系人员( 身份证号,姓名,年龄,性别)
教师( 身份证号,教师编号,职称)
学生( 身份证号,学号,系别,专业)
本科生( 身份证号,入学年份)
研究生( 身份证号,研究方向,导师姓名)
对应的关系模式主要内容
5.1 数据库设计概述
5.2 数据库设计的全过程
5.3 ER模型
5.4 ER模型到关系模型的转换
5.5 ER模型实例分析
5.6 ER模型的扩充
小结小结
数据库的生命周期
数据库设计的步骤
ER模型
基本概念和引进对象后的扩展
ER模型的设计方法
ER模型向关系模型的转换本章的重点篇幅
( 1) 教材中 P193-194的转换规则和实例 。
( 2)教材中 P195-200的四个 ER模型实例。
对 ER模型的理解 (一)
ER模型是人们认识客观世界的一种方法、工具。
ER模型具有客观性和主观性两重含义。 ER模型是在客观事物或系统的基础上形成的,在某种程度上反映了客观现实,反映了用户的需求,
因此 ER模型具有客观性。但 ER模型又不等同于客观事物的本身,它往往反映事物的某一方面,
至于选取哪个方面或哪些属性,如何表达则决定于观察者本身的目的与状态,从这个意义上说,ER模型又具有主观性。
对 ER模型的理解 (二)
ER模型的设计过程,基本上是两大步:
·先设计实体类型 ( 此时不要涉及到,联系,) ;
·再设计联系类型 ( 考虑实体间的联系 ) 。
具体设计时,有时,实体,与,联系,两者之间的界线是模糊的 。 数据库设计者的任务就是要把现实世界中的数据以及数据间的联系抽象出来,用,实体,与,联系,来表示 。
另外,设计者应注意,ER模型应该充分反映用户需求,ER模型要得到用户的认可才能确定下来。