资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第五章 数据库设计和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(n2)个实体集上的数学关系,这些实体集不必互异。如果E1,,E2,,,En,为,n,个实体集,那么联系集,R,是,(e1,e2,en)|e1E1 ,e2E2,enEn的一个子集,而(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图,其他局部模式,现有的教学,管理系统,初步分析系统的对象,根据服务种类分析学生子模块,图5.21 学籍管理局部应用的分E-R图,导师,班级,学生,组成,管理,班主任,档案材料,宿舍,住宿,归档,指导,系,有,参加,学会,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,教科书,教师,担任,课程,系,开设,N,1,学生,选修,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,图5.24 合并后的教学管理E-R图,1,N,1,P,1,N,1,N,1,N,1,M,M,N,N,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,N,1,N,N,N,N,1,1,保险公司,1,N,维修,主要内容,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,)教材中,P,193,-194,的转换规则和实例。,(,2,)教材中,P195-200,的四个,ER,模型实例。,对,ER,模型的理解,(一),ER模型是人们认识客观世界的一种方法、工具。ER模型具有客观性和主观性两重含义。ER模型是在客观事物或系统的基础上形成的,在某种程度上反映了客观现实,反映了用户的需求,因此ER模型具有客观性。但ER模型又不等同于客观事物的本身,它往往反映事物的某一方面,至于选取哪个方面或哪些属性,如何表达则决定于观察者本身的目的与状态,从这个意义上说,ER模型又具有主观性。,对,ER,模型的理解,(二),ER模型的设计过程,基本上是两大步:,先设计实体类型(此时不要涉及到“联系”);,再设计联系类型(考虑实体间的联系)。,具体设计时,有时“实体”与“联系”两者之间的界线是模糊的。数据库设计者的任务就是要把现实世界中的数据以及数据间的联系抽象出来,用“实体”与“联系”来表示。,另外,设计者应注意,ER模型应该充分反映用户需求,ER模型要得到用户的认可才能确定下来。,
展开阅读全文