




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第五章数据库设计和ER模型,2,本章重要概念,(1)DBS生存期及其7个阶段的任务和工作,DBD过程的输入和输出。(2)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。(3)ER模型的基本元素,属性的分类,联系的元数、连通词、基数。采用ER方法的概念设计步骤。(4)ER模型到关系模型的转换规则。采用ER方法的逻辑设计步骤。(5)ER模型的扩充:弱实体,超类和子类。,3,主要内容和学习要求,数据库设计概述(了解)数据库设计的全过程(领会)ER模型(综合应用)ER模型到关系模型的转换(综合应用)ER模型实例分析(理解)ER模型的扩充(理解)小结,4,5.1数据库设计概述,在具备了DBNS、系统软件、操作系统和硬件环境的时候,对数据库应用开发人员来说,就是如何使用这个环境表达用户的要求,转换成有效的数据库结构,构成较优的数据库模式。这个过程称为数据库设计。,5,5.1数据库设计概述,软件工程人们认为,应该用科学知识、工程方面的纪律指导软件开发的过程,以提高软件质量和开发效率,降低开发成本。软件生存期从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。软件生存期通常分为六个阶段:(1)规划阶段:确定开发的总目标,给出计划开发的软件系统的功能、性能、可靠性以及接口等方面的设想。(2)需求分析阶段:认真细致地了解用户对数据的加工要求,确定系统的功能与边界。本阶段的最终结果是提供一个可作为设计基础的系统规格说明书,包括对软、硬件环境的需求和一整套完整的数据流图。,6,5.1数据库设计概述,(3)设计阶段:把需求分析阶段所确定的功能细化,主要是工作设计模块结构图和系统的数据结构,然后,对每个模块内部设计详细的流图。(4)程序编制阶段:以某种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。,7,5.1数据库设计概述,(5)调试阶段:对已编制好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。(6)运行维护阶段:这是整个生存期中时间最长的阶段,其工作重点是将系统付诸实用,同时解决开发过程的遗留问题,改正错误并进行功能扩充和性能改善。以上这些阶段是相互连接的,而且常常需要某种程度的回溯和反复。,8,5.1数据库设计概述,数据库工程以数据库为基础的信息系统通常称为数据库应用系统,它一般具有信息的采集、组织、加工、抽取和传播等功能。数据库应用系统的开发是一项软件工程,但又有自己特有的特点,所以称为“数据库工程”。一项数据库工程按内容可分为两部分。一部分是作为系统核心的数据库应用系统的设计与实现;另一部分是相应的应用软件及其他软件(如通信软件)的设计与实现。,9,5.1数据库设计概述,数据库生存期按照软件生存期,把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。一般可划分成七个阶段:(1)规划:进行建立数据库的必要性及可行性研究,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的关系。,10,5.1数据库设计概述,(2)需求分析:收集数据库所有用户的信息内容和处理需求,加以规格化和分析。在分析用户要求时,要确保用户目标的一致性。(3)概念设计:把用户的信息要求统一到一个整体逻辑结构(即“概念模式”)中。此结构应能表达用户的要求,且独立于DBMS软件和硬件。,11,5.1数据库设计概述,(4)逻辑设计:这步设计分成两部分,数据库结构设计和应用程序设计。(5)物理设计:这步设计分为两部分,物理数据库结构的选择和逻辑设计中程序模块说明的精确化。这一阶段的成果是得到一个完整的、能实现的数据库结构。,12,5.1数据库设计概述,(6)实现:根据物理设计的结果产生一个具体的数据库和应用程序,并把原始数据装入数据库。(7)运行和维护:主要收集和记录系统运行状况的数据,用来评价数据库系统的性能,更进一步对系统进行修正。,13,软件生存期,数据库生存期,14,5.1数据库设计概述,数据库设计的输入、输出输入过程包括四部分内容:(1)总体信息需求:数据库系统的目标说明,数据元素的定义,数据在企业组织中的使用描述。(2)处理需求:每个应用需要的数据项、数据量以及应用执行的频率。(3)DBMS的特征:有关DBMS的一些说明和参数,DBMS所支持的模式、子模式和程序语法的规则。(4)硬件和OS特征:对DBMS和OS访问方法特有的内容,例如物理设备容量限制、时间特征及所有的运行要求。,15,5.1数据库设计概述,输出主要有两部分:一部分是完整的数据库结构,其中包括逻辑结构与物理结构;另一部分是基于数据库结构和处理需求的应用程序的设计原则。这些输出一般都是以说明书(Specificantion)的形式出现。,16,数据库设计的输入输出,17,主要内容,5.1数据库设计概述5.2数据库设计的全过程5.3ER模型5.4ER模型到关系模型的转换5.5ER模型实例分析5.6ER模型的扩充小结,18,5.2.1规划阶段,对于数据库系统,特别是大型数据库系统或大型信息系统中的数据库群,规划的好坏直接影响到整个系统的成功与否。规划阶段的任务:确定系统的范围;确定开发工作所需的资源(人员、硬件和软件);估算软件开发的成本;确定项目的进度;,19,5.2.1规划阶段,目标规划阶段的三个步骤系统调查:对企业组织作全面的调查,画出组织层次图,以了解企业的组织结构可行性分析从技术、经济、效益、法律等族方面对建立数据库的可行性进行分析;写出可行性分析报告;组织专家进行讨论其可行性确定数据库系统的总目标和制定项目开发计划,20,5.2.1规划阶段,数据库应用系统的拓扑结构图,21,5.2.2需求分析,这一阶段是计算机人员(系统分析员)和用户双方共同收集数据库所需要的信息内容和用户对处理的要求,并以数据流图和数据字典等书面形式确定下来,作为以后验证系统的依据。,22,5.2.2需求分析,需求分析阶段的输入和输出,23,5.2.2需求分析,目标需求分析工作分析用户活动,产生业务流程图确定系统范围,产生系统范围图分析用户活动涉及的数据,产生数据流图分析系统数据,产生数据字典,24,5.2.2需求分析,数据流图(DataFlowDiagram,简记为DFD)数据流用箭头表示加工或者处理用圆圈表示文件或数据库用双线段表示数据流的终点或源点用方框表示,25,5.2.2需求分析,数据字典提供对数据库数据描述的集中管理,它的功能是存储和检索各种数据描述(称为元数据metadata),如叙述性的数据定义等,并且为DBA提供有关的报告。数据字典是各类数据描述的集合,通常包括以下几个部分:数据项数据结构数据流数据存储加工过程,26,5.2.3概念设计,概念设计的重要性处于需求分析和逻辑设计之间,使得设计人员仅从用户角度看待数据及处理要求和约束,能充分反映现实世界中实体间的联系,又是各种基本数据模型的共同基础,易于向关系模型转换。,27,5.2.3概念设计,概念设计的特点:(1)数据库设计各阶段的任务相对单一化,设计复杂程度得降低,便于组织管理;(2)概念模式不受特定DBMS限制,也独立于存储安排,因此比逻辑设计得到的模式更为稳定;(3)不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而能准确反映用户的信息需求。,28,5.2.3概念设计,29,5.2.3概念设计,概念设计的主要步骤进行数据抽象,设计局部概念模式将局部概念模式综合成全局概念模式评审,30,5.2.3概念设计,聚集(aggregation):将多个对象间的聚集联系作为一个对象集合。如人、房间、旅馆、日期可用对象“预定”表达。聚集层次表示为“是的一部分”的关系。概括(genrealization):是从一类对象形成一个对象。例如汽车、卡车、自行车可以概括为“公路车辆”。概括层次表示“是一种”的关系。,31,5.2.4逻辑设计,逻辑设计的任务:把概念设计阶段得到的全局概念模式转换成与选用的具体机器上DBMS产品所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。,32,5.2.4逻辑设计,逻辑设计环境,33,34,5.2.4逻辑设计,逻辑设计(1)初始模式的形成:形成初始的DBMS模式根据概念模式以及DBMS的记录类型特点,将ER模式的实体类型或联系类型转成记录类型,在比较复杂的情况下,实体可能分裂或合并成新的记录类型。(2)子模式设计:子模式是模式的逻辑子集,是应用程序和数据库系统的接口,它能允许应用程序有效地访问数据库中的数据,而不破坏数据库的安全性。,35,5.2.4逻辑设计,(3)应用程序设计梗概:在设计完整的应用程序之前,先设计出应用程序的草图,对每个应用程序以内感设计出数据存取功能的梗概,提供程序上的逻辑接口。(4)模式评价:对数据库模式进行评价。评价数据库结构的方法通常有定量分析和性能测量等方法。定量分析有两个参数:处理频率和数据容量。处理频率是在数据库运行期间应用程序的使用次数;数据容量是数据库中记录的个数。数据库增长过程的具体表现就是这两个参数值的增加。,36,5.2.4逻辑设计,性能测量是指逻辑记录的访问数目、一个应用程序传输的总字节数、数据库的总字节数,这些参数应该尽可能预先知道,它能预测物理数据库的性能。(5)修正模式:目的是为了使模式适应信息的不同表示。此时,可利用DBMS的性能,以及索引或散列功能来修改模式。但数据库的需求内容不能修改。如果需求内容不修改,模式就不能进一步求精,那么就要停止模式设计,返回到概念设计或需求分析阶段,重新设计。,37,5.2.5物理设计,对于给定的基本数据模型选取一个最合适应用环境的物理结构的过程,称为物理设计。数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法。,38,5.2.5物理设计,物理设计分为五步:(1)存储记录结构设计:包括记录的组成、数据项的类型、长度,以及逻辑记录到存储记录的映射。(2)确定数据存放位置:可以把经常同时被访问的数据组合在一起,“记录聚簇”技术能满足这个要求。(3)存取方法的设计:存取路径分为主存取路径与辅存取路径,前者用于主键检索,后者用于辅助键检索。,39,5.2.5物理设计,(4)完整性和安全性考虑:设计者应在完整性、安全性、有效性和效率方面进行分析,作出权衡。(5)程序设计:在逻辑数据库结构确定后,应用程序设计就应当随之开始。物理数据独立性的目的是消除由于物理结构的改变而引起对应应用程序的修改。当物理独立性未得到保证的时候,可能会发生对程序的修改。,40,5.2.6数据库的实现,目标实现数据库应做的主要工作用DDL定义数据库结构;数据装载;对数据量不大的小型系统(人工)主要工作:筛选数据;转换数据格式;输入数据;校验数据。对大中型系统(自动)主要工作:筛选数据;输入数据;校验数据;转换数据;综合数据。编制与调试应用程序;数据库试运行。功能测试性能测试(时空代价),41,5.2.7数据库的运行与维护工作,数据库的转储和恢复数据库的转储和恢复是系统正式运行后最重要的维护工作之一。DBA要针对不同的应用要求制定不同的转储计划,定期对数据库和日志文件进行备份,以保证一旦发生故障,能利用数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态,并尽可能减少对数据库的破坏。,42,5.2.7数据库的运行与维护工作,数据库安全性、完整性控制DBA必须对数据库安全性和完整性控制负起责任。根据用户的实际需要授予不同的超做权限。此外,在数据库运行过程中,应用环境的变化,对安全性的要求也会发生变化。,43,5.2.7数据库的运行与维护工作,数据库性能的监督、分析和改进在数据库运行过程中,监督系统运行,对监督数据进行分析,找出改进系统性能的方法是DBA的又一重要任务。,44,5.2.7数据库的运行与维护工作,数据库的重组织和重构造数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。这时DBA就要对数据库进行重组织或部分重组织(只对频繁增、删的表进行重组织)。,45,主要内容,5.1数据库设计概述5.2数据库设计的全过程5.3ER模型5.4ER模型到关系模型的转换5.5ER模型实例分析5.6ER模型的扩充小结,46,5.3.1ER模型概述,什么是ER模型ER模型的历史ER模型的基本元素实体联系属性例子,实体,联系,属性,ER模型图例,47,5.3.2属性的分类,基本属性和复合属性(可否再分)单值属性和多值属性(对一个实体对象是否只能取一个值)多值属性的处理将原来的多值属性用几个新的单值属性来表示。将原来的多值属性用一个新的实体类型表示导出属性空值,零件编码,48,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)形式表示,49,5.3.4ER模型的操作包括实体类型、联系类型和属性的分裂、合并、增删等等,50,5.3.5采用ER方法的数据库概念设计之设计局部ER模式,51,局部模式,现有的教学管理系统,初步分析系统的对象,根据服务种类分析教师子模块,局部ER图,52,其他局部模式,现有的教学管理系统,初步分析系统的对象,根据服务种类分析学生子模块,局部ER图,53,其它局部模式,现有的教学管理系统,初步分析系统的对象,根据服务种类分析课程子模块,局部ER图,54,5.3.5采用ER方法的数据库概念设计之设计全局ER模式,55,5.3.5采用ER方法的数据库概念设计之全局ER模式的优化,实体类型的合并1:1联系的两个实体类型具有相同键的实体类型冗余属性的消除冗余联系的消除:利用规范化理论中函数依赖的概念消除冗余联系,56,例子:三个局部ER图合并成一个ER图,57,主要内容,5.1数据库设计概述5.2数据库设计的全过程5.3ER模型5.4ER模型到关系模型的转换5.5ER模型实例分析5.6ER模型的扩充小结,58,5.4.1ER图转换成关系模式集的规则,将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键二元联系类型的转换若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合一元联系类型的转换:同二元联系三元联系类型的转换总是将三元联系类型转换成关系模式,其属性为三端实体类型的键加上联系类型的属性,而键为三端实体键的组合。,59,ER模型到关系模型的转换实例,运动员(编号,姓名,性别,名次,上一名次编号,下一名次编号),职工(工号,姓名,年龄,性别,经理工号),60,ER模型到关系模型的转换实例,零件(零件号,零件名,规格)组成(零件号,子零件号,数量),仓库(仓库号,仓库名,地址)商店(商店号,商店名)商品(商品号,商品名)进货(商店号,商品名,仓库号,日期,数量),61,5.4.2采用ER方法的逻辑设计步骤,62,5.4.2采用ER方法的逻辑设计步骤,(1)导出初始关系模式:用全局E-R图转换成初始关系模式。(2)规范化处理:减少乃至消除关系模式中存在的各种异常,改善完整性、一致性和存储效率。分两步:明确规范级别,实施规范化处理。(3)模式评价:从功能和性能两个方面评价数据库模式是否完全满足用户的要求。(4)模式修正:根据模式评价的结果,对已生成的模式集进行修正。经过模式修正和评价的多次反复后,最终的数据库模式得以确定,全局逻辑结构设计即告结束。,63,主要内容,5.1数据库设计概述5.2数据库设计的全过程5.3ER模型5.4ER模型到关系模型的转换5.5ER模型实例分析5.6ER模型的扩充小结,64,例1库存销售信息管理系统的ER模型及转换,库存系统ER图,车间(车间号,车间名,主任名)产品(产品号,产品名,单价)仓位(仓位号,地址,主任名)客户(客户号,客户名,联系人,电话,地址,税号,账号)销售员(销售员号,姓名,性别,学历,业绩),实体,入库(入库单号,入库量,入库日期,经手人,车间号,仓位号,产品名)出库(出库单号,出库量,出库日期,经手人,客户号,产品名,仓位号)订单(订单号,数量,折扣,总价,订单日期,产品号,客户号,销售员号)存储(仓位号,产品号,核对日期,核对员,存储量),联系,65,例2:公司车队信息系统的ER模型,66,主要内容,5.1数据库设计概述5.2数据库设计的全过程5.3ER模型5.4ER模型到关系模型的转换5.5ER模型实例分析5.6ER模型的扩充小结,67,5.6.1弱实体,什么是弱实体弱
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 疼痛护理规范化管理
- 心脏病护理评估要点与流程
- 2025私人借款利息协议合同
- 2025国内住宅商品房按揭贷款合同模板
- 2025“租赁合同”中物品损害之责任划分
- 2025年度劳动合同续签与合同协议解析
- 财务记账代理合同(完整版律师审核版)
- 护理三基2024下半年复习测试卷附答案
- 铁粒细胞性贫血
- 学校团队培训课件
- 【道法】做自信的人课件 2024-2025学年统编版道德与法治七年级下册
- 国家中医药管理局机关服务中心人员招聘笔试真题2023
- DLT 593-2016 高压开关设备和控制设备
- 【MOOC】森林食品资源学-南京林业大学 中国大学慕课MOOC答案
- 甘肃省陇南市多校2024-2025学年上学期期中检测七年级数学试卷(无答案)
- 中华人民共和国突发事件应对法培训课件
- 状元帽美术课件
- 脱硫检修工个人工作总结
- 内部工程项目承包合同范本
- 甘肃省2024年中考生物试卷四套合卷【附答案】
- 民用无人机操控员执照(CAAC)备考复习题库-下部分(600题)
评论
0/150
提交评论