第05章 数据库设计与ER模型_第1页
第05章 数据库设计与ER模型_第2页
第05章 数据库设计与ER模型_第3页
第05章 数据库设计与ER模型_第4页
第05章 数据库设计与ER模型_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

5.1数据库设计的全过程什么是数据库设计?数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。数据库与信息系统数据库是信息系统的核心和基础把信息系统中大量的数据按一定的模型组织起来提供存储、维护、检索数据的功能使信息系统可以方便、及时、准确地从数据库中获得所需的信息数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在数据库设计是信息系统开发和建设的重要组成部分数据库系统生存期软件生存期 从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。数据库工程数据库应用系统的开发是一项软件工程,但又有自己特有的特点,所以特称为“数据库工程”。数据库系统生存期 数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。

规划需求分析系统设计

程序编制

调试

运行维护

运行和维护

实现

物理设计逻辑设计概念设计需求分析规划软件生存期数据库生存期数据库设计的输入数据库设计的输入总体信息需求:数据库系统的目标说明、数据元素的定义、数据在企业组织中的使用描述。处理需求:每个应用需要的数据项、数据量以及应用执行的效率。DBMS的特征:DBMS所支持的模式、子模式和程序语法的规则。硬件和OS特征:对DBMS和OS访问方法特有的内容,例如物理设备容量限制、时间特性及运行要求。数据库设计的输出数据库设计的输出说明书:说明数据库的完整结构和基于数据库结构和处理需求的应用程序的设计原则。1.

规划阶段的目标

得到详尽的可行性分析报告和数据库系统规划纲要,内容包括:信息范围;信息来源;人力资源;设备资源;软件及支持工具资源;开发成本估算;开发进度计划;现行系统向新系统过渡计划等。规划阶段的三个步骤系统调查:对企业组织作全面的调查,画出组织层次图,以了解企业的组织结构可行性分析从技术、经济、效益、法律等诸方面对建立数据库的可行性进行分析;写出可行性分析报告;组织专家讨论其可行性确定数据库系统的总目标和制定项目开发计划组织层次图

医院病区药房中药房西药房急诊药房药库中药库西药库出入院处功检科室财务科2.

需求分析的目标

对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能够接受的文档。需求分析工作分析用户活动,产生业务流程图了解用户当前的业务活动和职能,搞清其处理流程(即业务流程)确定系统范围,产生系统关联图

确定计算机所能进行的数据处理的范围,确定哪些工作由人工完成,哪些工作由计算机系统完成。需求分析工作分析用户活动涉及的数据,产生数据流程图

深入分析用户的业务处理,以数据流图形式表示出数据的流向和对数据所进行的加工。分析系统数据,产生数据字典

数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。业务流程图

预交金单据结算单预交金处理入区登记出院结算病人入院信息入院处病人

护士医生医嘱信息退药申请单项目执行单功检科医嘱执行药房诊断入院登记病人确费退药信息发药信息发药申请单退药处理发药处理入库申请退药申请数据字典

数据流系统名:医院管理信息系统

编号:F8条目名:发药申请单

别名:来源:病区系统去处:药房系统数据流结构:请求序号、住院号、患者姓名、医嘱序号、药房代码、病区代码、科室代码、医生代码、请求日期、药品代码、药品数量、药品规格、药品单位、单价、请求类型简要说明:病区执行医嘱后产生发药申请单,药房再按照申请单发药修改记录编写:张三日期:2014.5审核:李四日期:2014.53.

概念设计什么是概念结构设计?需求分析阶段描述的用户应用需求是现实世界的具体需求将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构设计是整个数据库设计的关键概念设计的目标

产生反映企业组织信息需求的数据库概念结构,即概念模式。概念设计的重要性为什么需要概念设计?(1)将概念设计从设计过程中独立出来,可以使数据库设计各阶段的任务相对单一化,降低数据库设计的复杂程度,便于组织管理。(2)概念设计能充分反映现实世界中实体间的联系,不依赖于具体DBMS的模式,设计结果容易适应外界环境的变化。概念设计的重要性(3)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。(4)易于向关系模型转换。概念设计的主要步骤进行数据抽象,设计局部概念模式将局部概念模式综合成全局概念模式评审描述概念模型的工具E-R模型4.

逻辑设计的目标

把概念设计阶段设计好的全局概念模式转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。这些模式在功能上、完整性和一致性约束及数据库的可扩充性等方面均应满足用户的各种要求。逻辑设计的主要步骤把概念模型转换成逻辑模型设计外模型设计应用程序与数据库的接口评价模型修正模型5.

物理设计为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。数据库的存储记录格式、存储记录安排和存取方法称为数据库的物理结构。它依赖于给定的计算机系统。物理设计的步骤存储记录结构设计(包括记录的组成、数据项的类型、长度,以及逻辑记录到存储记录的映射。)确定数据存放位置存取方法的设计(主键检索和辅助键检索)完整性和安全性考虑程序设计6.数据库的实现用DDL定义数据库结构数据装载对数据量不大的小型系统(人工)

主要工作:筛选数据;转换数据格式;输入数据;校验数据。对大中型系统(自动,即设计一个数据输入子系统,由计算机辅助数据的入库工作)

主要工作:筛选数据;输入数据;校验数据;转换数据;综合数据。数据库的实现编制与调试应用程序;数据库试运行。功能测试性能测试(时空代价)7.数据库的运行与维护

数据库的转储和恢复转储和恢复是系统正式运行后最重要的维护工作之一。DBA要针对不同的应用要求制定不同的转储计划,定期对数据库和日志文件进行备份。一旦发生介质故障,即利用数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态。数据库的运行与维护数据库安全性、完整性控制DBA必须根据用户的实际需要授予不同的操作权限。在数据库运行过程中,由于应用环境的变化,对安全性的要求也会发生变化,DBA需要根据实际情况修改原有的安全性控制。由于应用环境的变化,数据库的完整性约束条件也会变化,也需要DBA不断修正,以满足用户要求。数据库的运行与维护数据库性能的监督、分析和改进

在数据库运行过程中,DBA必须监督系统运行,对监测数据进行分析,找出改进系统性能的方法。利用监测工具获取系统运行过程中一系列性能参数的值。通过仔细分析这些数据,判断当前系统是否处于最佳运行状态。如果不是,则需要通过调整某些参数来进一步改进数据库性能。数据库的运行与维护数据库的重组织和重构造

1)数据库的重组织

数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。为提高系统性能,需重组织数据库。数据库的运行与维护数据库的重组织不会改变原设计的数据逻辑结构和物理结构。DBMS一般都提供了供重组织数据库使用的实用程序,帮助DBA重新组织数据库。数据库的运行与维护

2)数据库的重构造数据库应用环境发生变化,会导致实体及实体间的联系也发生相应的变化,使原有的数据库设计不能很好地满足新的需求数据库重构造的主要工作是根据新环境调整数据库的模式和内模式数据库的运行与维护重构造数据库的程度是有限的。若应用变化太大,已无法通过重构数据库来满足新的需求,或重构数据库的代价太大,则表明现有数据库应用系统的生命周期已经结束,应该重新设计新的数据库系统,开始新数据库应用系统的生命周期了。5.2ER模型ER模型的基本元素实体联系属性实体联系属性ER模型图例老师学生教mn学号姓名专业班级职称性别姓名职号实体实体是一个数据对象,指应用中可以区别的客观存在的事物。同一类实体构成实体集。实体类型是对实体集中实体的定义。由于实体、实体集、实体类型等概念的区分在转换成数据库的逻辑设计时才要考虑,因此在不引起混淆的情况下,一般将实体、实体集、实体类型等概念统称为实体。ER模型中提到的实体往往是指实体集。联系联系表示一个或多个实体之间的关联关系。同一类联系构成“联系集”。联系类型是对联系集中联系的定义。同实体一样,一般将联系、联系集、联系类型等统称为联系。属性实体的某一特性称为属性。在一个实体中,能够唯一标识实体的属性或属性集称为“实体标识符”。一个实体只有一个实体标识符,没有候选标识符的概念。实体标识符有时也称为实体的主键。联系也用属性描述其特征,但联系本身没有标识符。属性的分类根据属性类型可分为简单属性和复合属性简单属性是不可再分割的属性例如:性别、年龄复合属性是可以再分解为其他属性的属性例如:地址属性可分解为邮政编码、省(市)名、区名、街道四个子属性。复合属性形成了属性的层次结构。属性的分类图5.2

地址属性的层次结构邮政编码省(市)名地址区名街道家庭地址门牌号码

属性的分类根据属性的取值特点分为单值属性和多值属性单值属性指的是同一实体的属性只能取一个值

例如:同一个学生只能有一个年龄多值属性只的是同一实体的某些属性可能取多个值例如:一个教师的学位是一个多值属性(学士、硕士和博士)。一种商品可能有多种销售价格(经销、代销、批发和零售)。多值属性用双线椭圆形表示。

属性的分类

图5.3多值属性的表示零件编码零件零件名供应商规格进货价格销售价格零件编码属性的分类在数据库的实施过程中,应修改原来的ER模型,对多值属性进行变换。将原来的多值属性用几个新的单值属性来表示

例如:商品销售价格可结合销售性质(经销、代销、批发和零售)进行分解。将原来的多值属性用一个新的实体类型表示。这个新实体类型和原来的实体类型是1:N联系。这个新实体依赖于原实体而存在,因此称之为弱实体。弱实体用双线矩形框表示。

5.3.2属性的分类图5.4多值属性的变换(1)零件编码零件零件名供应商规格进货价格经销价格代销价格批发价格零售价格

属性的分类图5.5多值属性的变换(2)零件编码零件零件名供应商规格进货价格销售性质售货价格存在销售价格1N

属性的分类通过具有相互依赖的属性推导而产生的属性称为派生属性。派生属性的值不必存储在数据库内,而其他需要存储值的属性称为存储属性。例如:实发工资可从基本工资、奖金、房租等属性推导出来。派生属性的值不仅可以从其他属性导出,也可以从有关的实体导出,派生属性用虚线椭圆形与实体相连。5.3.2属性的分类图5.6派生属性的表示工号职工姓名基本工资奖金房租实发工资空值

当实体在某个属性上没有值时应使用空值。联系的元数

一个联系涉及到的实体集个数,称为该联系的元数或度数。

同一个实体集内部实体间的联系,称为一元联系。也称为递归联系。两个不同实体集、实体之间的联系称为二元联系。三个不同实体集实体之间的联系,称为三元联系。一对多联系图5.8一对多联系

多对多联系图5.9多对多联系

ER模型的操作教师号姓名出生日期职务工资奖金教师(a)

在数据库设计过程中,常常要对ER图进行种种变化,这种变化称为ER模型的操作,包括实体类型、联系类型和属性的分裂、合并、增删等。原实体类型分裂教师号姓名出生日期教师不变信息职务工资奖金教师号教师变动信息(b)图5.16

实体类型的垂直分裂分裂方式有两种:水平分裂(元组)和垂直分裂(属性)分裂教师课程主讲辅导1MNN图5.17联系类型的分裂教师课程教授MN(a)(b)联系类型也可分裂合并

不合法的合并B(a)ACA-CB-CACA-B-C(b)B合并是分裂操作的逆过程。合并的联系类型必须是定义在相同的实体类型组合中,否则是不合法的合并。5.3ER模型到关系模型的转换算法5.1

步骤1:将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。ER图转换成关系模式集的规则步骤2联系类型的转换步骤2.1二元联系类型的转换若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。

若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。

若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。

步骤2.2

一元联系类型的转换:同二元联系ER图转换成关系模式集的规则步骤2.3

三元联系类型的转换

若实体间的联系是1:1:1,可以在3个实体类型转换成的3个关系模式中任意一个关系模式的属性中加入另两个关系模式的键和联系类型的属性。

若实体间联系是1:1:N,则在N端实体类型转换成的关系模式中加入两个1端实体类型的键(作为外键)和联系类型的属性。

若实体间联系是1:M:N,则将联系类型也转换成关系模式,其属性为M端和N端实体类型的键(作为外键)加上联系类型的属性,而键为M端和N端实体键的组合。

若实体间联系是M:N:P,则将联系类型也转换成关系模式,其属性为3端实体类型的键(作为外键)加上联系类型的属性,而键为3端实体键的组合。ER模型到关系模型的转换实例一对一联系

ER模型到关系模型的转换实例1:1:在任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。学校(校名,地址,电话,校长名,任职年月)校长(姓名,性别,年龄,职称)学校(校名,地址,电话)校长(姓名,性别,年龄,职称,任职学校,任职年月)ER模型到关系模型的转换实例一对多联系

ER模型到关系模型的转换实例1:N:在N端关系模式的属性中加入1端关系模式的键和联系类型的属性。系(系号,系名,电话)教师(工号,姓名,性别,年龄,系号,聘期)ER模型到关系模型的转换实例图2.5多对多联系

ER模型到关系模型的转换实例M:N:将联系类型转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。学生(学号,姓名,年龄,性别)课程(课程号,课程名,教师名)选课(学号,课程号,成绩)

ER模型到关系模型的转换实例教师系课程课程号课程名学分姓名性别职称教材聘用开设任教教工号电话聘期主管系编号系名111MNNN1ER模型到关系模型的转换实例实体类型的转换系(系编号,系名,电话)教师(教工号,姓名,性别,职称)课程(课程号,课程名,学分)联系类型的转换系(系编号,系名,电话,主管人的教工号)教师(教工号,姓名,性别,职称,系编号,聘期)课程(课程号,课程名,学分,系编号)任教(教工号,课程号,教材)ER模型到关系模型的转换实例运动员编号姓名性别名次顺序11职工工号姓名年龄性别领导1N运动员(编号,姓名,性别,名次,上一名次编号,下一名次编号)

职工(工号,姓名,年龄,性别,经理工号)

ER模型到关系模型的转换实例零件零件号零件名规格数量组成MN零件(零件号,零件名,规格)组成(零件号,子零件号,数量)

ER模型到关系模型的转换实例仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货MNP仓库(仓库号,仓库名,地址)商店(商店号,商店名)商品(商品号,商品名)进货(商店号,商品名,仓库号,日期,数量)

例1库存销售信息管理系统的ER模型及转换P车间仓位产品客户销售员存储出库订单入库MNMPMNPMNN库存系统ER图车间(车间号,车间名,主任名)产品(产品号,产品名,单价)仓位(仓位号,地址,主任名)客户(客户号,客户名,联系人,电话,地址,税号,账号)销售员(销售员号,姓名,性别,学历,业绩)实体入库(入库单号,入库量,入库日期,经手人,车间号,仓位号,产品名)出库(出库单号,出库量,出库日期,经手人,客户号,产品名,仓位号)订单(订单号,数量,折扣,总价,订单日期,产品号,客户号,销售员号)

存储(仓位号,产品号,核对日期,核对员,存储量)联系5.4ER模型到关系模型的转换实例例2:公司车队信息系统的ER模型

图5.27公司车队信息系统的ER模型部门车队司机车辆开销维修公司调用报销拥有聘用保险2保险1M1NN1NNNN11保险公司1N维修部门(部门号,名称,负责人)车队(车队号,名称,地址)司机(司机号,姓名,执照号,电话,工资)车辆(车牌号,车型,颜色,载重)保险公司(保险公司号,名称,地址)维修公司(维修公司号,名称,地址)开销(顺序号,费用类型,费用,日期,经手人)调用(出车编号,出车日期,车程,费用,车辆数目)保险1(投保日期,保险种类,费用)保险2(投保日期,保险种类,费用)实体类型联系的属性例2:公司车队信息系统的ER模型

部门(部门号,名称,负责人)车队(车队号,名称,地址)司机(司机号,姓名,执照号,电话,工资,保险公司号,投保日期,保险种类,费用,车队号)车辆(车牌号,车型,颜色,载重,保险公司号,投保日期,保险种类,费用,

维修公司号,车队号)保险公司(保险公司号,名称,地址)维修公司(维修公司号,名称,地址)开销(顺序号,费用类型,费用,日期,经手人,车牌号)调用(出车编号,部门号,车队号,出车日期,车程,费用,车辆数目)实体类型联系类型例3:人事管理信息系统的ER模型

职工(工号,姓名,性别,年龄,学历)部门(部门号,部门名称,职能)岗位(岗位编号,岗位名称,岗位等级)技能(技能编号,技能名称,技能等级)奖惩(序号,奖惩标志,项目,奖惩金额)培训课程(课程号,课程名,教材,学时)工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税)选课(时间,成绩)设置(人数)考核(时间,地点,级别)接受(奖惩时间)实体类型联系的属性N图5.28人事管理信息系统的ER模型工资培训课程部门职工奖惩技能享有接受选课属于聘任设置M11NMNMMN1岗位NN考核1例3:人事管理信息系统的ER模型职工(工号,姓名,性别,年龄,学历,部门号,岗位编号)部门(部门号,部门名称,职能)岗位(岗位编号,岗位名称,岗位等级)技能(技能编号,技能名称,技能等级)奖惩(序号,奖惩标志,项目,奖惩金额)培训课程(课程号,课程名,教材,学时)工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税)选课(工号,课程号,时间,成绩)设置(部门号,岗位编号,人数)考核(工号,技能编号,时间,地点,级别)接受(工号,序号,奖惩时间)实体类型联系类型例4:旅游管理信息系统的ER模型

导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,等级,业绩)交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间)宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话,传真)

旅游线路(路线号,起点,终点,天数,主要景点)旅游班次(班次号,出发日期,回程日期,旅游标准,报价)旅游团(团号,团名,人数,联系人,地址,电话)游客(游客编号,姓名,性别,年龄,身份证号码,住址,电话)保险单(保险单编号,保险费,投保日期)实体类型实体类型N图5.29旅游管理信息系统的ER模型旅游线路旅游班次宾馆旅游团导游旅客开设陪同有交通参加食宿111NM11NN1保险单NM组成交通工具1例4:旅游管理信息系统的ER模型旅游线路(路线号,起点,终点,天数,主要景点)旅游班次(班次号,出发日期,回程日期,旅游标准,报价,路线号)旅游团(团号,团名,人数,联系人,地址,电话,保险单编号,班次号)游客(游客编号,姓名,性别,年龄,身份证号码,住址,电话,团号)保险单(保险单编号,保险费,投保日期)导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,等级,业绩)交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间)宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话,传真)陪同(导游编号,班次号)食宿(班次号,宾馆编号)实体类型联系类型5.5增强的ER模型什么是弱实体

一个实体对于另一个实体(称为父实体)具有很强的依赖关系,而且该实体主键的一部分或全部从其父实体中获得,称该实体为弱实体。弱实体弱实体的表示方法

在ER模型中,弱实体用双线矩形框表示,与弱实体相关的联系,用双线菱形框表示。父实体与弱实体的联系只能是1:1或1:N。弱实体顾客地址通讯N1问题:商业应用系统中,顾客地址的存在依赖于顾客的存在(一般顾客可以有若干个联系地址)

ER图在实际应用中,对于有很强依赖关系的实体才确定为弱

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论