《数据库设计与ER模型.ppt》由会员分享,可在线阅读,更多相关《数据库设计与ER模型.ppt(70页珍藏版)》请在三一办公上搜索。
1、第五章 数据库设计和ER模型,本章重要概念,(1)DBS生存期及其7个阶段的任务和工作,DBD过程的输入和输出。(2)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。(3)ER模型的基本元素,属性的分类,联系的元数、连通词、基数。采用ER方法的概念设计步骤。(4)ER模型到关系模型的转换规则。采用ER方法的逻辑设计步骤。(5)ER模型的扩充:弱实体,超类和子类。,主要内容和学习要求,5.1 数据库设计概述(了解)5.2 数据库设计的全过程(领会)5.3 ER模型(综合应用)5.4 ER模型到关系模型的转换(综合应用)5.5 ER模型实例分析(理解)5.6 ER模型的扩充(理解),5.1 数
2、据库设计概论之一,软件工程 人们认为,应该用科学知识、工程方面的纪律指导软件开发的过程,以提高软件质量和开发效率,降低开发成本。软件生存期从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。数据库工程 数据库系统生存期数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。数据库设计的输入输出,软件生存期,数据库生存期,数据库设计的输入输出,主要内容,5.1 数据库设计概述5.2 数据库设计的全过程5.3 ER模型5.4 ER模型到关系模型的转换5.5 ER模型实例分析5.6 ER模型的扩充,5.2.1 规划阶段,进行建立数据库的
3、必要性和可行性分析,确定数据库系统在组织中和信息系统中的地位。任务:确定系统的范围;确定开发工作所需的资源(人员、硬件和软件);估算软件开发的成本;确定项目进度。结果是可行性分析报告及数据库规划纲要,内容包括信息范围、信息来源、人力资源、设备资源、软硬件环境、开发成本估算、进度计划、现行系统向新系统过渡计划等。规划阶段的三个步骤系统调查:对企业组织作全面的调查,画出组织层次图,以了解企业的组织结构可行性分析 从技术、经济、效益、法律等各方面对建立数据库的可行性进行分析;写出可行性分析报告;组织专家进行讨论其可行性确定数据库系统的总目标和制定项目开发计划,这一阶段是计算机人员(系统分析员)和用户
4、共同收集数据库所需要的信息内容和用户对处理的要求,加以规格化和分析,以书面形式确定下来,作为以后验证系统的依据。在分析用户要求时,要确保用户目标的一致性。,5.2.2 需求分析,需求分析阶段的输入和输出如图5-7所示:信息需求指目标系统涉及的所有实体、属性、以及实体间的联系等,包括信息的内容和性质,以及由信息需求导出的数据需求。处理需求指为得到需要的信息而对数据进行加工处理的要求,包括处理描述,发生的频度、响应时间以及安全保密要求等。,图5-7,1 需求分析阶段的输入和输出,分析用户活动产生,产生业务流程图确定系统范围,产生系统范围图分析用户活动涉及的数据,产生数据流图分析系统数据,产生数据字
5、典,2 需求分析步骤,3 需求分析的主要工作,需求分析的工作包括:(1)问题识别(problem recognition)(2)评价和综合(evaluation and synthesis)(3)建模(modeling)(4)规格说明(specification)(5)评审(review),4 软件需求规格说明,软件需求规格说明是在对用户需求分析的基础上,把用户的需求规范化、形式化而写成的。目的是为软件开发提出总体要求,作为用户和开发人员之间相互了解和共同开发的基础。根据我国国家标准GB856D-88的规定,软件需求规格说明的内容如下:,1.引言 1.1 编写说明 1.2 背景 1.3 定义
6、1.4 参考资料2.任务概述 2.1 目标 2.2 用户的特点 2.3 假定与约束3.需求规定 3.1 对功能的规定 3.2 对性能的规定3.2.1 精度3.2.2 时间特性要求 3.2.3 灵活性,3.3 输入输出要求 3.4 数据管理能力要求 3.5 故障处理要求 3.6 其它专门要求4.运行环境规定 4.1 设备 4.2 支持软件 4.3 接口 4.4 控制,5 系统逻辑模型表示工具,在需求分析阶段,通常用系统逻辑模型描述系统必须具备的功能。系统逻辑模型常用的工具主要是:(1)数据流图(2)数据字典,(1)数据流图,数据流图(Data Flow Diagram,简记为DFD)是从“数据”
7、和“对数据的加工”两方面表达数据处理系统工作过程的一种图形表示法,具有直观、易于被用户和软件人员双方理解的特点。数据流图采用自顶向下的逐步细化的结构化方法表示:,DFD有四种基本成分:数据流用箭头表示;加工或处理(process)用圆圈表示;文件或数据库用双线段表示;数据流的源点或终点用方框表示。下面是一个简单的DFD图示例:,图5-12,图5-13,DFD可作为由顶向下逐步细化时描述对象的工具。顶层(0层)DFD的每一个加工都可以进一步细化为第1层、第2层.的DFD,直到最底层的每一个加工已表示一个最基本的处理动作为止。在DFD中并没有表示数据处理的过程逻辑(procedural logic
8、),如是否要循环处理或根据不同的条件进行处理等。,了解用户的应用要求,使用信息流程图分析应用系统中的信息流。学生选课系统的简单的上下文信息流如下。,数据流程图示例,图5-14,(2)数据字典,数据字典(Data Dictionary,简记为DD)是各类数据描述的集合,通常包括数据项、数据结构、数据流、数据存储和加工过程等五个部分。因为DFD只表示出系统由哪几部分组成和各部分之间的关系,并没有说明各个成分(数据流,加工等)的含义。因此,仅有DFD还不足以描述用户的需求,必须通过数据字典详细描述各类数据实体对象。,数据项:数据项是不可分的数据单位。数据项的描述通常包括以下内容:数据项描述数据项名,
9、含义,别名,数据类型,长度,取值范围,与其它数据项的逻辑联系数据结构:数据结构反映了数据之间的组合关系。一个数据结构可以由若干数据项组成,也可以由若干数据结构组成。数据结构的描述通常包括以下内容:数据结构描述数据结构名,含义,组成:数据项或数据结构,数据流:数据流是数据项或数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:数据流描述数据流名,说明,数据流来源,数据流去向,组成:数据结构或数据项,平均流量,高峰期流量数据存储:加工过程中存储的数据,通常是手工凭证、手工文档或计算机文件。也是数据流的来源和去向之一。对数据存储的描述通常包括以下内容:数据存储描述数据存储名,说明,流入数据流
10、,流出数据流,组成:数据结构或数据项,数据量,存取方式。加工过程:在数据字典中一般只需要描述处理过程的说明性信息,通常包括以下内容:加工过程描述加工过程名,说明,输入的数据流,输出的数据流,加工的简要说明,下图给出了某机器制造厂零配件采购子系统最概括层的数据流图。该子系统要处理的工作是:对生产部门提出的生产计划书根据零配件当前价格计算成本送主管部门进行审批,对已批准的生产计划制定采购计划,准备好定货单送给供应商。为了反映系统更详细的处理过程,将图5-16的处理过程分解为三个子过程,得到第一层的数据流图,如图5-17所示,其中每个子过程还可以再细分,得到第二层次的数据流图,此处不再给出。,图5-
11、16 零配件采购子系统最概括层数据流图,数据流和数据字典描述示例,图5-17 零配件采购子系统第一层次数据流图,订货单数据流中,每张订货单有一个数据项为订货单号。对此数据项作以下描述:数据项名:订货单号说明:标识每张订货单类型:CHAR长度:7别名:采购单号取值范围:1000000 9999999对采购计划数据流作如下描述:数据项名:采购计划说明:由各产品所需零件数,选定的供应商,审核情况组成采购零配件计划。来自过程:确定采购计划流至过程:编制订货单数据结构:采购计划 采购细节采购审核,数据字典中数据项描述:,在数据流的描述中记录了有关数据流的所有细节,在数据结构中“采购细节”,“采购审核”均
12、是数据结构,下面给出“采购细节”的数据结构。数据结构:采购细节说明:作为采购计划的组成部分说明对某个产品,要采购哪些零件,那种零件采购多少数量。组成:零件号数量图中产品是一个数据存储,在数据字典中可如下描述:数据存储:产品说明:对每种产品的品名,规格的描述,并对每种产品做成本预算,在核对生产计划书的成本时用。输出数据流:预算数据描述:产品号产品名称预算数量:每月30至40种存取方式:随机存取,对上图第二个过程“确定采购计划”可作如下描述:处理过程:确定采购计划说明:对要采购的每一零件,根据零件库存量确定采购数量,再根据每位供应商的报价选择适当的供应商,制定采购计划。输入:供应商报价零件库存已批
13、准生产计划输出:采购计划程序提要:对已批准生产计划中每种零件,根据零件库存计算采购数量 对应采购的每种零件查找供应商报价表,选择报价最低的供应商号。将此供应商号填入应采购零件表的相应列中。处理完所有零件形成采购计划输出。,5.2.3 数据库概念设计,将需求分析得到的用户需求抽象为信息结构,即概念模型的设计。通过概念设计得到的概念模型是从现实世界的角度对所要解决的问题的描述,不依赖于具体的硬件环境和DBMS。在需求分析和逻辑设计之间增加概念设计阶段,可以使设计人员仅从用户的角度看待数据及处理要求和约束。,处理需求,数据库设计的基本过程,需求分析,概念设计,逻辑设计,物理设计,信息需求,需求说明书
14、,信息结构,逻辑数据库结构(DBMS能处理的)应用程序说明书,DBMS特性,硬件、OS特性,物理数据库结构,规划,1 对数据库概念模型的要求,表达概念设计结果的工具称为概念模型,对概念模型有以下要求:(1)有丰富的语义表达能力,能表达用户的各种需求。(2)易于交流和理解,从而可以用它和不熟悉计算机的用户交换意见。(3)要易于更改。当应用环境和应用要求改变时,概念模型要能很容易的修改和扩充以反映这种变化。(4)易于向各种数据模型转换。,按照上述要求,传统的数据模型(网状、层次和关系模型)都不适合作概念模型。在数据库的概念设计中,通常采用E-R数据模型来表示数据库的概念结构。E-R数据模型将现实世
15、界的信息结构统一用属性、实体以及它们之间的联系来描述。,2 采用E-R方法的概念设计步骤,采用E-R方法进行概念设计,可分为三步进行:(1)局部E-R模式设计;(2)全局E-R模式设计;(3)全局E-R模式的优化和评审。,(1)局部E-R模式设计;,否,进入全局E-R模式设计,图5-18,(2)全局E-R模式设计;,是,否,是,否,进入全局E-R模式优化,图5-19,(3)全局E-R模式的优化和评审:实体类型的合并冗余属性的消除冗余联系的消除,3 数据库概念设计总结,用E-R数据模型进行概念设计,首先必须根据需求说明,确认实体、联系和属性。采用E-R方法进行数据库的概念设计,可以分成三步进行:
16、首先设计局部E-R图;然后合并各局部E-R图,并解决可能存在的冲突,得到初步E-R图;最后修改和重构初步E-R图,消除其中的冗余部分,得到最终的全局基本E-R图,即概念模式。设计全局E-R模式的目的不在于把若干局部E-R模式形式上合并为一个E-R模式,而在于消除冲突使之成为能够被全系统所有用户共同理解和接受的统一的概念模型。,在需求分析和逻辑设计之间增加概念设计阶段,使设计人员仅从用户角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。这样做有三个好处:(1)数据库设计各阶段的任务相对单一化,设计复杂程度得到降低,便于组织管理。(2)概念模式不受特定DBMS限制,也独立于存储安排,因
17、而比逻辑设计得到的模式更为稳定。(3)概念模式不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而能准确反映用户的信息需求。,5.2.4 数据库逻辑设计,由于DBMS一般采用关系模型,因此数据库的逻辑设计,就是将概念设计中所得到的E-R图转换成等价的关系模式。概念设计是对客观世界的描述,与实现无关;而逻辑设计依赖于实现的基础DBMS。,图5-24,1 关系数据库的逻辑设计过程,关系数据库的逻辑设计过程如图所示:,图5-25,2 E-R模型转换为关系模型,关系数据据库的逻辑结构由一组关系模式组成,因而从概念结构到关系数据库逻辑结构的转换就是从E-R图转换为关系模式。具体转换方法将在下一节
18、详述。,5.2.5 物理设计,目标提高数据库的性能,特别是满足主要应用的性能要求;有效地利用存储空间;物理设计的步骤存储记录结构设计 确定数据存放位置 存取方法的设计 完整性和安全性考虑 程序设计,5.2.6 数据库的实现,根据逻辑设计和物理设计的结果,在计算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实现阶段。实现数据库应做的主要工作用DDL定义数据库结构;组织数据入库;对数据量不大的小型系统(人工)主要工作:筛选数据;转换数据格式;输入数据;校验数据。对大中型系统(自动)主要工作:筛选数据;输入数据;校验数据;转换数据;综合数据。编制与调试应用程序;数据库试运行。
19、功能测试性能测试(时空代价),5.2.7 数据库的运行与维护工作,主要任务:数据库的转储和恢复 数据库安全性、完整性控制 数据库性能的监督、分析和改进 数据库的重组织和重构造,5.3.1 ER模型概述,什么是ER模型ER模型的历史ER模型的基本元素实体联系属性例子,实体,联系,属性,ER模型图例,连线,5.3.2 属性的分类,基本属性和复合属性(可否再分)单值属性和多值属性(对一个实体对象是否只能取一个值)多值属性的处理将原来的多值属性用几个新的单值属性来表示。将原来的多值属性用一个新的实体类型表示 导出属性空值,零件编码,5.3.3 联系的设计之一,联系集 联系集是n(n2)个实体集上的数学
20、关系,这些实体集不必互异。如果E1,E2,En为n个实体集,那么联系集R是(e1,e2,en)|e1E1,e2E2,enEn的一个子集,而(e1,e2,en)是一个联系。联系的元数 一个联系涉及到的实体集个数 联系的连通词 联系涉及到的实体集之间实体对应的方式 实体的基数 有两个实体集E1和E2,E1中每个实体与E2中有联系实体的数目的最小值min和最大值max,称为E1的基数,用(min,max)形式表示,5.3.4 ER模型的操作包括实体类型、联系类型和属性的分裂、合并、增删等等,5.3.5 采用ER方法的数据库概念设计 之设计局部ER模式,局部模式,现有的教学管理系统,初步分析系统的对象
21、,根据服务种类分析教师子模块,局部ER图,其他局部模式,现有的教学管理系统,初步分析系统的对象,根据服务种类分析学生子模块,局部ER图,其他局部模式,现有的教学管理系统,初步分析系统的对象,根据服务种类分析课程子模块,局部ER图,5.3.5 采用ER方法的数据库概念设计 之设计全局 ER模式,5.3.5 采用ER方法的数据库概念设计 之全局ER模式的优化,实体类型的合并1:1联系的两个实体类型 具有相同键的实体类型 冗余属性的消除 冗余联系的消除:利用规范化理论中函数依赖的概念消除冗余联系,例子:三个局部ER图合并成一个ER图,5.4.1 ER图转换成关系模式集的规则,将每个实体类型转换成一个
22、关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。,ER图转换成关系模式集的规则,二元联系类型的转换若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。,ER图转换成关系模式集的规则,一元联系类型的转换:同二元联系 三元联系类型的转换 总是将三元联系类型转换成关系模式,其属性为三端实体类型的键
23、加上联系类型的属性,而键为三端实体键的组合。,ER模型到关系模型的转换实例,ER模型到关系模型的转换实例,零件(零件号,零件名,规格)组成(零件号,子零件号,数量),仓库(仓库号,仓库名,地址)商店(商店号,商店名)商品(商品号,商品名)进货(商店号,商品名,仓库号,日期,数量),5.4.2 采用ER方法的逻辑设计步骤,例1 库存销售信息管理系统的ER模型及转换,库存系统ER图,车间(车间号,车间名,主任名)产品(产品号,产品名,单价)仓位(仓位号,地址,主任名)客户(客户号,客户名,联系人,电话,地址,税号,账号)销售员(销售员号,姓名,性别,学历,业绩),实体,入库(入库单号,入库量,入库
24、日期,经手人,车间号,仓位号,产品名)出库(出库单号,出库量,出库日期,经手人,客户号,产品名,仓位号)订单(订单号,数量,折扣,总价,订单日期,产品号,客户号,销售员号)存储(仓位号,产品号,核对日期,核对员,存储量),联系,例2:公司车队信息系统的ER模型,5.5.1 弱实体,什么是弱实体弱实体的表示方法包含弱实体的ER图转换成关系模式,5.5.2 子类实体与超类实体,什么是子类和超类(p134)子类和超类的性质子类与超类之间具有继承性,但子类本身还能包含比超类更多的属性。子类和超类有相同的标识符,学校人事系统中实体之间的联系,人 员(身份证号,姓名,年龄,性别)教 师(身份证号,教师编号
25、,职称)学 生(身份证号,学号,系别,专业)本科生(身份证号,入学年份)研究生(身份证号,研究方向,导师姓名),对应的关系模式,主要内容,5.1 数据库设计概述5.2 数据库设计的全过程5.3 ER模型5.4 ER模型到关系模型的转换5.5 ER模型实例分析5.6 ER模型的扩充小结,小结,数据库的生命周期数据库设计的步骤ER模型基本概念和引进对象后的扩展ER模型的设计方法ER模型向关系模型的转换,对ER模型的理解(一),ER模型是人们认识客观世界的一种方法、工具。ER模型具有客观性和主观性两重含义。ER模型是在客观事物或系统的基础上形成的,在某种程度上反映了客观现实,反映了用户的需求,因此ER模型具有客观性。但ER模型又不等同于客观事物的本身,它往往反映事物的某一方面,至于选取哪个方面或哪些属性,如何表达则决定于观察者本身的目的与状态,从这个意义上说,ER模型又具有主观性。,对ER模型的理解(二),ER模型的设计过程,基本上是两大步:先设计实体类型(此时不要涉及到“联系”);再设计联系类型(考虑实体间的联系)。具体设计时,有时“实体”与“联系”两者之间的界线是模糊的。数据库设计者的任务就是要把现实世界中的数据以及数据间的联系抽象出来,用“实体”与“联系”来表示。另外,设计者应注意,ER模型应该充分反映用户需求,ER模型要得到用户的认可才能确定下来。,
链接地址:https://www.31ppt.com/p-6296604.html