数据库设计与ER模型.docx
《数据库设计与ER模型.docx》由会员分享,可在线阅读,更多相关《数据库设计与ER模型.docx(51页珍藏版)》请在冰豆网上搜索。
数据库设计与ER模型
第5章数据库设计与ER模型
5.1基本内容分析
5.1.1本章重要概念
(1)DBS生存期及其7个阶段的任务和工作,DBD过程的输入和输出。
(2)概念设计的重要性、主要步骤。
逻辑设计阶段的主要步骤。
(3)ER模型的基本元素,属性的分类,联系的元数、连通词、基数。
采用ER方法的概念设计步骤。
(4)ER模型到关系模型的转换规则。
采用ER方法的逻辑设计步骤。
(5)ER模型的扩充:
弱实体,超类和子类。
5.1.2本章的重点篇幅
(1)教材中P193-194的转换规则和实例。
(2)教材中P196-200的四个ER模型实例。
5.1.3对ER模型的理解
ER模型是人们认识客观世界的一种方法、工具。
ER模型具有客观性和主观性两重含义。
ER模型是在客观事物或系统的基础上形成的,在某种程度上反映了客观现实,反映了用户的需求,因此ER模型具有客观性。
但ER模型又不等同于客观事物的本身,它往往反映事物的某一方面,至于选取哪个方面或哪些属性,如何表达则决定于观察者本身的目的与状态,从这个意义上说,ER模型又具有主观性。
ER模型的设计过程,基本上是两大步:
·先设计实体类型(此时不要涉及到“联系”);
·再设计联系类型(考虑实体间的联系)。
具体设计时,有时“实体”与“联系”两者之间的界线是模糊的。
数据库设计者的任务就是要把现实世界中的数据以及数据间的联系抽象出来,用“实体”与“联系”来表示。
另外,设计者应注意,ER模型应该充分反映用户需求,ER模型要得到用户的认可才能确定下来。
5.2教材中习题5的解答
5.1名词解释
(1)·软件工程:
研究如何用科学知识、工程方面的纪律指导软件开发的过程,以提高软件质量和开发效率,降低开发成本,这样的一门学科称为“软件工程”。
·软件生存期:
软件生存期是指从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。
软件生存期通常分为六个阶段:
规划阶段,需求分析阶段,设计阶段,程序编制阶段,调试阶段,运行维护阶段。
·数据库工程:
数据库应用系统的开发是一项软件工程,但又有自己特有的特点,所以特称为“数据库工程”。
·数据库系统生存期:
我们把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。
这个生存期一般可划分成下面七个阶段:
规划,需求分析,概念设计,逻辑设计,物理设计,实现,运行和维护
(2)·实体:
可以区别的客观存在的事物,称为实体。
·实体集:
同一类实体构成的集合,称为实体集。
·实体类型:
实体集中实体的定义,称为实体类型。
·实体标识符:
能惟一标识实体的属性或属性集,称为实体标识符。
有时也称为关键码(key),或简称为键。
(3)·联系:
一个或多个实体之间的关联关系,称为联系。
·联系集:
同一类联系构成的集合,称为联系集。
·联系类型:
联系集中联系的定义,称为联系类型。
(4)·属性:
实体的某一特性,称为属性。
·基本属性:
不可再分割的属性,称为基本属性。
·复合属性:
可再分解成其他属性的属性,称为复合属性。
·单值属性:
同一实体的属性只能取一个值,称为单值属性。
·多值属性:
同一实体的属性可能取多个值,称为多值属性。
·导出属性:
通过具有相互依赖的属性推导而产生的属性,称为导出属性。
(5)·联系:
·联系的元数:
一个联系涉及到的实体集个数,称为该联系的元数。
·联系的连通词:
联系涉及到的实体集之间实体对应的方式(指对应一个还是多个实体),称为联系的连通词。
·实体的基数:
是对连通词更为精确的描述。
譬如有两个实体集E1和E2,E1中每个实体与E2中有联系实体数目的最小值Min和最大值Max,称为E1的基数。
(6)·弱实体:
一个实体对于另一些实体(父实体)具有很强的依赖联系,而且该实体主键的部分或全部从其父实体中获得,则称该实体为弱实体。
·子类实体和超类实体:
某个实体类型中所有实体同时也是另一个实体类型中的实体,此时称前一实体类型是后一实体类型的子类,后一实体类型称为超类。
其实体分别称为子类实体和超类实体。
·继承性:
指子类继承其超类上定义的所有属性,但其本身还可以包含其他的属性。
5.2数据库系统的生存期分成哪几个阶段?
数据库结构的设计在生存期中的地位如何?
答:
对DBS生存期的划分,一般分为七个阶段,即规划、需求分析、概念设计、逻辑设计、物理设计、实现和运行维护。
DB结构设计的任务就是把概念设计阶段设计好的基本ER图转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构。
5.3基于数据库系统生存期的数据库设计分成哪几个阶段?
答:
基于DBS生存期的DBD分成以下五个阶段:
规划;需求描述和分析;概念设计;逻辑设计;物理设计。
5.4数据库设计的规划阶段应做哪些事情?
答:
DBD中规划阶段的主要任务是进行建立DB的必要性及可行性分析,确定DBS在组织中和信息系统中的地位,以及各个DB之间的联系。
5.5数据库设计的需求分析阶段是如何实现的?
目标是什么?
答:
需求分析阶段的工作由下面四步组成:
·分析用户活动,产生用户活动图;
·确定系统范围,产生系统范围图;
·分析用户活动所涉及的数据,产生数据流图;
·分析系统数据,产生数据字典。
需求分析阶段的目标是对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求;并把这些要求写成用户和数据库设计者都能接受的文档。
5.6概念设计的具体步骤是什么?
答:
概念设计的主要步走可分为三步:
(1)进行数据抽象,设计局部概念模式;
(2)将局部概念模式综合成全局概念模式;
(3)评审。
5.7逻辑设计的目的是什么?
试述逻辑设计阶段的主要步骤及内容。
答:
逻辑设计的目的是把概念设计阶段设计好的基本ER图转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。
这些模式在功能、性能、完整性和一致性约束及数据库的可扩充性等方面均应满足用户的各种要求。
逻辑设计阶段主要有五步:
形成初始模式,设计子模式,设计应用程序梗概,评价模式和修改模式。
(解释略)
5.8什么是数据库结构的物理设计?
试述其具体步骤。
答:
对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程,称为DB的物理设计。
物理设计有五步:
确定DB的存储记录结构;确定数据存储按排;存取方法的设计;完整性和安全性的设计;应用程序设计。
5.9数据库实现阶段主要做哪几件事情?
答:
数据库实现阶段主要有以下三项工作:
建立实际DB结构;装入试验数据调试应用程序;装入实际数据进入试运行状态。
5.10数据库系统投入运行后,有哪些维护工作?
答:
DBS投入运行以后,就进入运行维护阶段。
其主要工作有四项:
维护DB的安全性与完整性及系统的转储和恢复;
DB性能的监督、分析与改进;
增加DB新功能;
改正运行中发现的系统错误。
5.11设某商业集团数据库中有三个实体集。
一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1)试画出ER图,并在图上注明属性、联系的类型。
(2)将ER图转换成关系模型,并注明主键和外键。
解:
(1)ER图如图5.1所示。
商店编号
地址
商店名
商店
月薪
月销售量
M1
销售
聘用
聘期
NN
职工
商品
商品号
规格
商品名
单价
职工编号
姓名
性别
业绩
图5.1
(2)这个ER图可转换4个关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)
商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
5.12设某商业集团数据库中有三个实体集。
一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
(1)试画出ER图,并在图上注明属性、联系的类型。
(2)将ER图转换成关系模型,并注明主键和外键。
解:
(1)ER图如图5.2所示。
公司名
地址
公司编号
公司
1
隶属
仓库编号
N
仓库名
仓库
聘期
地址
1
聘用
工资
N
职工
职工编号
姓名
性别
图5.2
(2)这个ER图可转换3个关系模式:
公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)
5.13设某商业集团数据库有三个实体集。
一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有个月计划数。
试画出反映上述问题的ER图,并将其转换成关系模型。
解:
ER图如图5.3所示。
商店号
供应商编号
商店名
地址
供应商名
地址
供应商
商店
MM
月计划数
销售
月供应量
供应
NN
商品
商品号
商品名
规格
单价
图5.3
(2)这个ER图可转换5个关系模式:
供应商(供应商编号,供应商名,地址)
商店(商店号,商店名,地址)
商品(商品号,商品名,规格,单价)
供应(供应商编号,商品号,月供应量)
销售(商店号,商品号,月计划数)
5.14假设要为银行的储蓄业务设计一个数据库,其中涉及到储户、存款、取款等信息。
试设计ER模型。
解:
储蓄业务主要是存款、取款业务,可设计如图5.4所示的ER图。
存款余额
地址
姓名
身份证号
账号
储户
取款日期
存款日期
11
存款
取款
NN
取款单
存款单
金额
存款方式
存款单号
取款方式
金额
取款单号
图5.4
5.15某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目。
试为该锦标赛各个代表团、运动员、比赛项目、比赛情况设计一个ER模型。
解:
图5.5是ER图的一种设计方案。
得分
N
M
图5.5
5.16假设某超市公司要设计一个数据库系统来管理该公司的业务信息。
该超市公司的业务管理规则如下:
⑴该超市公司有若干仓库,若干连锁商店,供应若干商品。
⑵每个商店有一个经理和若干收银员,每个收银员只在一个商店工作。
⑶每个商店销售多种商品,每种商品可在不同的商店销售。
⑷每个商品编号只有一个商品名称,但不同的商品编号可以有相同的商品名称。
每种商品可以有多种销售价格。
⑸超市公司的业务员负责商品的进货业务。
试按上述规则设计ER模型
解:
图5.6是ER图的一种设计方案。
经理
N
图5.6
5.17假设要根据某大学的系、学生、班级、学会等信息建立一个数据库,一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。
一个系的学生住在同一宿舍区。
每个学生可以参加多个学会,每个学会有若干学生,学生参加某学会有个入会年份。
试为该大学的系、学生、班级、学会等信息设计一个ER模型。
解:
图5.7是ER图的一种设计方案。
1
图5.7
5.18试把教材中5.5.2、5.5.3、5.5.4等三小节中的ER模型转换成关系模型,并指出每个关系模式的主键和外键。
(1)(教材中P197的5.5.2节)公司车队信息系统的ER模型
本例为某货运公司设计了车队信息管理系统,对车辆、司机、维修、保险、报销等信息和业务活动进行管理。
其ER图如图5.8所示。
维修
该ER图有7个实体类型,其结构如下:
部门(部门号,名称,负责人)
车队(车队号,名称,地址)
司机(司机号,姓名,执照号,电话,工资)
车辆(车牌号,车型,颜色,载重)
保险公司(保险公司号,名称,地址)
维修公司(维修公司号,名称,地址)
开销(顺序号,费用类型,费用,日期,经手人)
实体之间有7个联系,其中6个是1:
N联系,1个是M:
N联系。
其中联系的属性如下:
调用(出车编号,出车日期,车程,费用,车辆数目)
保险1(投保日期,保险种类,费用)
保险2(投保日期,保险种类,费用)
进而,读者可以很容易地转换成关系模式集。
解:
根据ER图和转换规则,7个实体类型转换成7个关系模式,1个M:
N联系转换成1个关系模式,共8个关系模式,如下:
部门(部门号,名称,负责人)
车队(车队号,名称,地址)
司机(司机号,姓名,执照号,电话,工资,车队号,保险公司号,投保日期,保险种类,费用)
车辆(车牌号,车型,颜色,载重,车队号,保险公司号,投保日期,保险种类,费用,维修公司号)
保险公司(保险公司号,名称,地址)
维修公司(维修公司号,名称,地址)
开销(顺序号,车牌号,费用类型,费用,日期,经手人)
调用(出车编号,车队号,部门号,出车日期,车程,费用,车辆数目)
(2)(教材中P198的5.5.3节)人事管理信息系统的ER模型
上海交通电器有限公司设计了人事管理信息系统,其中涉及到职工、部门、岗位、技能、培训课程、奖惩记录等信息。
其ER图如图5.9所示。
培训课程
M
选课
部门
工资
享有
属于
1
M
1NN
设置
职工
1
N
MMN
奖惩
接受
岗位
聘任
考核
N1
N
技能
图5.9
这个ER图有7个实体类型,其属性如下:
职工(工号,姓名,性别,年龄,学历)
部门(部门号,部门名称,职能)
岗位(岗位编号,岗位名称,岗位等级)
技能(技能编号,技能名称,技能等级)
奖惩(序号,奖惩标志,项目,奖惩金额)
培训课程(课程号,课程名,教材,学时)
工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税)
这个ER图有7个联系类型,其中1个1:
1联系,2个1:
N联系,4个M:
N联系。
联系类型的属性如下:
选课(时间,成绩)
设置(人数)
考核(时间,地点,级别)
接受(奖惩时间)
解:
根据ER图和转换规则,7个实体类型转换成7个关系模式,4个M:
N联系转换成4个关系模式,共11个模式,如下:
职工(工号,姓名,性别,年龄,学历,部门号,岗位编号)
部门(部门号,部门名称,职能)
岗位(岗位编号,岗位名称,岗位等级)
技能(技能编号,技能名称,技能等级)
奖惩(序号,奖惩标志,项目,奖惩金额)
培训课程(课程号,课程名,教材,学时)
工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税)
选课(工号,课程号,时间,成绩)
设置(部门号,岗位编号,人数)
考核(工号,技能编号,时间,地点)
接受(工号,序号,奖惩日期)
(3)(教材中P199的5.5.4节)旅游管理信息系统的ER模型
上海普教旅行社设计了一个小型的国内旅游管理信息系统,其中涉及到与业务有关的信息有旅游线路、班次、团体、旅客、保险员、导游、宾馆、交通工具等。
其ER图如图5.10所示。
旅游线路
1
开设
交通工具
交通
1
N1
导游
陪同
旅游班次
食宿
MN
宾馆
1M
有
N
保险
参加
N
旅游团
11
1
组成
N
游客
图5.10
这个ER图有8个实体类型,其属性如下:
旅游线路(路线号,起点,终点,天数,主要景点)
旅游班次(班次号,出发日期,回程日期,旅游标准,报价)
旅游团(团号,团名,人数,联系人,地址,电话)
游客(游客编号,姓名,性别,年龄,身份证号码,住址,电话)
导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,等级,业绩)
交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话,传真)
保险单(保险单编号,保险费,投保日期)
这个ER图有7个联系类型,其中2个1:
1联系,3个1:
N联系,2个M:
N联系。
解:
根据ER图和转换规则,8个实体类型转换成8个关系模式,2个M:
N联系转换成2个关系模式,共10个关系模式,如下:
旅游线路(路线号,起点,终点,天数,主要景点)
旅游班次(班次号,路线号,出发日期,回程日期,旅游标准,报价)
旅游团(团号,旅游班次号,团名,人数,联系人,地址,电话)
游客(游客编号,团号,姓名,性别,年龄,身份证号码,住址,电话)
导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,等级,业绩)
交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话,传真)
保险(保险单编号,团号,人数,保险费,投保日期)
陪同(旅游班次号,导游编号)
食宿(旅游班次号,宾馆编号)
5.3自测题
5.3.1填空题
1.数据库设计过程的输入包括四部分内容:
__________,__________,__________和__________。
2.数据库设计过程的输出主要有两部分:
__________和__________。
3.规划阶段具体可以分成三个步骤:
___________、___________和___________。
4.需求分析的工作主要有下面四步组成:
分析用户活动,产生__________;确定系统范围,产生__________;分析用户活动涉及的数据,产生__________;分析系统数据,产生__________。
5.需求分析中的数据字典通常包含以下五个部分:
__________,__________,__________,__________和__________。
6.概念设计的目标是产生反映____________的数据库概念结构,即概念模式。
7.概念设计阶段可分为三步来完成:
__________,__________和__________。
8.就方法的特点而言,需求分析阶段通常采用__________的分析方法;概念设计阶段通常采用__________的设计方法。
9.逻辑设计的主要工作是:
__________________________。
10.逻辑设计的步骤有五步:
__________,__________,__________,__________和__________。
11.物理设计可分成五步进行:
__________,__________,__________,__________和__________。
12.DBS的维护工作由__________承担的。
13.DBS的维护工作主要包括以下四个部分:
_________,_________,_________,_________。
5.3.2单项选择题(在备选的答案中选出一个正确答案)
1.需求分析阶段设计数据流程图(DFD)通常采用[]
A.面向对象的方法B.回溯的方法
C.自底向上的方法D.自顶向下的方法
2.概念设计阶段设计概念模型通常采用[]
A.面向对象的方法B.回溯的方法
C.自底向上的方法D.自顶向下的方法
3.设计子模式属于数据库设计的[]
A.需求分析B.概念设计C.逻辑设计D.物理设计
4.概念结构设计的主要目标是产生数据库的概念结构,该结构主要反映[]
A.应用程序员的编程需求B.DBA的管理信息需求
C.数据库系统的维护需求D.企业组织的信息需求
5.数据库设计人员和用户之间沟通信息的桥梁是[]
A.程序流程图B.实体联系图C.模块结构图D.数据结构图
6.有两个不同的实体集,它们之间存在着一个1:
1联系和一个M:
N联系,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为[]
A.2个B.3个C.4个D.5个
7.如果有10个不同的实体集,它们之间存在着12个不同的二元联系(二元联系是指两个实体集之间的联系),其中3个1:
1联系,4个1:
N联系,5个M:
N联系,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为[]
A.14个B.15个C.19个D.22个
8.在ER模型转换成关系模型的过程中,下列叙述不正确的是[]
A.每个实体类型转换成一个关系模式
B.每个联系类型转换成一个关系模式
C.每个M:
N联系类型转换一个关系模式
D.在处理1:
1和1:
N联系类型时,不生成新的关系模式
9.当同一个实体集内部的实体之间存在着一个1:
N联系时,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为[]
A.1个B.2个C.3个D.4个
10.当同一个实体集内部的实体之间存在着一个M:
N联系时,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数为[]
A.1个B.2个C.3个D.4个
11.在数据库设计中,子类与超类存在着[]
A.相容性联系B.调用的联系
C.继承性的联系D.一致性联系
5.3.3设计题
假设要为某商业集团设计一个数据库,该集团中有若干仓库、若干商店、经销若干商品。
试画一个有关仓库、商店、商品、采购员、职工、顾客、供应商、采购、入库、出库、销售聘用等信息的ER图。
5.3.4ER图实例
在数据库设计中,ER模型的设计是一个很重要的环节。
为了帮助学习者提高数据库设计水平,有利于毕业设计和今后的工