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