欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    数据库技术与应用PPT课件第六章数据库设计.ppt

    • 资源ID:6050196       资源大小:1.84MB        全文页数:132页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库技术与应用PPT课件第六章数据库设计.ppt

    第六章 数据库设计,学习内容,6.1 数据库设计概述6.2 需求分析6.3 概念数据库设计6.4 逻辑数据库设计6.5 物理数据库设计6.6 管理和维护,学习目标,掌握数据库设计的内容和特点掌握数据库概念设计的方法掌握数据库逻辑设计的方法了解数据库物理设计的方法,6.1 数据库设计概述,6.1.1 数据库应用 6.1.2 数据库设计方法和特点6.1.3 数据库设计基本步骤,6.1.1 数据库与MIS,信息系统 信息系统:MIS,数据仓库,ERP,GIS,文档数据库 信息系统是提供信息、辅助人们对环境进行控制和进行决策的系统数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。一个好的数据库产品不等于就有一个好的应用系统,数据库设计设计方法与特点,设计特点静态数据设计与动态行为设计相分离性反复性、试探性、分布进行数据库设计多解性,静态数据设计与动态行为设计相分离,系统定义,系统调查,数据分析,功能分析,概念设计,物理设计,程序说明,事务设计,功能说明,逻辑设计,功能模型,子模式设计,数据库维护,数据装配,程序设计,系统运行,程序调试,数据库设计方法:,数据库设计方法目前可分为四类:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。直观设计法也叫手工试凑法。1978年10月,来自三十多个国家的数据库专家在美国新奥尔良(New Orleans)市专门讨论了数据库设计问题,他们运用软件工程的思想和方法,提出了数据库设计的规范,这就是著名的新奥尔良法,它是目前公认的比较完整和权威的一种规范设计法。新奥尔良法将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。目前,常用的规范设计方法大多起源于新奥尔良法,并在设计的每一阶段采用一些辅助方法来具体实现。,基于E-R模型的数据库设计方法是由P.P.S.chen于1976年提出的数据库设计方法,其基本思想是在需求分析的基础上,用E-R(实体联系)图构造一个反映现实世界实体之间联系的企业模式,然后再将此企业模式转换成基于某一特定的DBMS的概念模式。基于3NF的数据库设计方法是由SAtre提出的结构化设计方法,其基本思想是在需求分析的基础上,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合3NF的约束条件,将其进行投影分解,规范成若干个3NF关系模式的集合。,基于视图的数据库设计方法:此方法先从分析各个应用的数据着手,其基本思想是为每个应用建立自己的视图,然后再把这些视图汇总起来合并成整个数据库的概念模式。除了以上三种方法外,规范化设计方法还有实体分析法、属性分析法和基于抽象语义的设计方法等。规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。,6.1.3数据库设计基本步骤,数据库设计的步骤“数据库设计的生存期”按规范设计法可将数据库设计分为六个阶段:系统需求分析阶段概念结构设计阶段逻辑结构设计阶段物理设计阶段数据库实施阶段数据库运行与维护阶段,需求分析是整个数据库设计过程的基础,要收集数据库所有用户的信息内容和处理要求,并加以规格化和分析。这是最费时、最复杂的一步,但也是最重要的一步,相当于待构建的数据库大厦的地基,它决定了以后各步设计的速度与质量。需求分析做得不好,可能会导致整个数据库设计返工重做。在分析用户需求时,要确保用户目标的一致性。概念设计是把用户的信息要求统一到一个整体逻辑结构中,此结构能够表达用户的要求,是一个独立于任何DBMS软件和硬件的概念模型。逻辑设计是将上一步所得到的概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。,物理设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。在实施阶段,根据物理设计的结果把原始数据装入数据库,建立一个具体的数据库并编写和调试相应的应用程序。应用程序的开发目标是开发一个可依赖的有效的数据库存取程序,来满足用户的处理要求。运行和维护阶段:这一阶段主要是收集和记录实际系统运行的数据,数据库运行的记录用来提高用户要求的有效信息,用来评价数据库系统的性能,进一步调整和修改数据库。在运行中,必须保持数据库的完整性,并能有效地处理数据库故障和进行数据库恢复。在运行和维护阶段,可能要对数据库结构进行修改或扩充。,6.1.3数据库设计基本步骤,6.2 需求分析,6.2.1 需求分析的任务6.2.2 需求分析的方法6.2.3 需求分析的步骤6.2.4 需求分析阶段文档,6.2 需求分析,6.2.1 需求分析的任务需求分析就是从系统数据处理加工的过程中抽象并描述出系统的概念模型,为系统的实现做准备。了解系统数据来源、流向、处理过程、处理结果均是需求分析阶段必须完成的工作。功能需求信息(数据)需求性能、运行需求完整性、安全性需求其他需求提交需求说明文档,软件需求各组成部分关系,软件需求包括三个不同的层次-业务需求、用户需求和功能需求:业务需求说明了提供给客户和产品开发商的新系统的最初利益,反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明;用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明;功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。,功能树,系统维护子系统,模块代码维护,用户管理,角色管理,角色分配,操作日志管理,权限管理,用户密码管理,身份认证管理,功能间的数据关联,权限登记表,角色登记表,模块登记表,角色管理,模块代码维护,用户管理,角色分配,用 户 文 件,管理员,日 志 文 件,操作日志管理,权限管理,管理员,密码管理,认证管理,用户与角色对照表,需求说明文档,6.2 需求分析(续),6.2.2 需求分析的方法1.方法分类面向数据的方法 着眼于数据对现实世界的描述作用。面向过程的方法着眼于数据在各项功能活动中被加工变换的流程。,6.2.2 需求分析的方法(续),2.结构化分析方法简介工具:数据流程图、数据字典数据流图:表达了数据和处理的关系数据字典:系统中各类数据的集合,数据流程图示例,数据流程图示例,付款凭证,报销单,报销登记,报销人,审查分录,数据字典:是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。数据字典贯穿于数据库需求分析直到数据库运行的全过程,在不同的阶段其内容和用途各有区别。在需求分析阶段,它通常包含以下五部分内容。(1)数据项数据项是数据的最小单位,其具体内容包括:数据顶名、含义说明、别名、类型、长度、取值范围、与其他数据项的关系。其中,取值范围、与其他数据项的关系这两项内容定义了完整性约束条件,是设计数据检验功能的依据。(2)数据结构数据结构是数据项有意义的集合。内容包括:数据结构名、含义说明,组成这些内容的数据项名。,(3)数据流数据流可以是数据项,也可以是数据结构,它表示某一处理过程中数据在系统内传输的路径。内容包括:数据流名、说明、流出去向、流入去向,组成这些内容的数据项或数据结构。其中,流出过程说明该数据流由什么过程而来;流入过程说明该数据流到什么过程。(4)数据存储处理过程中数据的存放场所,也是数据流的来源和去向之一。可以是手工凭证,手工文档或计算机文件。包括数据存储名,说明,输入数据流,输出数据流,组成:数据项或数据结构,数据量,存取频度,存取方式。存取方法:批处理/联机处理;检索/更新,(5)处理过程处理过程的处理逻辑通常用判定表或判定树来描述,数据字典只用来描述处理过程的说明性信息。处理过程包括处理过程名,说明,输入:数据流,输出:数据流,处理,简要说明。简要说明:说明处理过程的功能及处理要求。功能是指该处理过程用来做什么(不是怎么做),处理要求指该处理频度要求,如单位时间里处理多少事务、多少数据量、响应时间要求等,这些处理要求是后面物理设计的输入及性能评价的标准。,6.2.3 需求分析的步骤,1.需求分析的步骤调查组织结构=系统的管理模式=各部门功能调查各部门业务活动、职责=信息流程收集各种静态信息=原系统的信息存储确定系统的功能和系统的边界,6.2.3 需求分析的步骤(续),2.常用的需求分析调查方法跟班作业开调查座谈会请用户介绍提问设计调查问卷请用户填写查阅历史纪录 在实际操作中往往是若干种方式同时进行,调查问卷示例,需求分析实例,假设开发某学校数据库管理系统,经过可行性分析和初步调查,采用自顶向下的方法可以抽象出该系统高层数据流图.逐步往下求精得出:教师管理子系统、学生管理子系统,后勤管理子系统、科研管理子系统、产业管理子系统。限于篇幅我们以学生管理子系统为例向下求精。,学籍管理的数据流图,6.2.4 需求分析阶段文档,需求分析阶段结束时,应提供的文档包括:系统组织结构图;数据流图;数据字典;数据处理流程图等,需求分析小结,需求分析和其他项目过程的关系,6.3 概念数据库设计,6.3.1 概述6.3.2 概念数据库设计方法与步骤6.3.3 数据抽象与局部ER图设计6.3.4 视图集成,6.3.1 概念数据库设计概述,概念设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。概念模型的特点:(1)语义表达能力丰富。(2)易于交流和理解。概念模型是DBA、应用开发人员和用户之间的主要界面,因此,概念模型要表达自然、直观和容易理解,以便和不熟悉计算机的用户交换意见,用户的积极参与是保证数据库设计和成功的关键。(3)易于修改和扩充。概念模型要能灵活地加以改变,以反映用户需求和现实环境的变化。(4)易于向各种数据模型转换。概念模型独立于特定的DBMS,因而更加稳定,能方便地向关系模型、网状模型或层次模型等各种数据模型转换。E-R模型:它将现实世界的信息结构统一用属性、实体以及它们之间的联系来描述。,6.3.2 概念数据库设计方法与步骤,概念数据库设计方法与步骤自顶向下;首先定义全局的概念模型,然后逐步细化得到局部的概念模型.自底向上:首先定义各局部应用的概念结构,然后将其集成得到全局概念模型.逐步扩张:首先定义最重要的可信概念结构,然后向外扩充,逐步生成其他的概念结构和总体概念结构.混合策略,6.3.2 概念数据库设计方法与步骤,6.3.2 概念数据库设计方法与步骤,选用哪一种设计策略主要有系统分析员选择,但通常要与需求分析的策略相一致。,需求分析阶段,已用多层数据流图和数据字典描述了整个系统。设计分E-R图首先需要根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分E-R图。通常以中层数据流图作为设计分E-R图的依据。原因:高层数据流图只能反映系统的概貌中层数据流图能较好地反映系统中各局部应用的子系统组成低层数据流图过细,6.3.2 概念数据库设计方法与步骤,采用自底向上策略的设计过程示意图,6.3.3 数据抽象与局部ER图设计,前言任务确定局部范围(模块独立性)原则:相对独立;内部联系较紧密;与 外部联系相对较少。来源:针对多层的数据流图,选择一个适当层次的数据流图,作为设计分ER图的出发点。设计局部E-R图 数据抽象,6.3.3 数据抽象与局部ER图设计,1.ER图基本要点复习2.数据抽象3.ER图设计要点4.练习,ER图基本要点复习,6.3.3-2 ER图基本概念的补充说明,1.角色(Role)实体在联系中的作用称为实体的角色当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式,需要显式指明其角色当需要显式区分角色时,在连接菱形和矩形的线上加上说明性标注以区别不同的角色,角色在E-R图中的表示,ER图基本概念的补充说明,2.属性的类型简单属性 不可再分的属性如学号、年龄、性别 复合(Composite)属性可以划分为更小的属性可以把相关属性聚集起来,使模型更清晰,ER图基本概念的补充说明,2.属性的类型单值属性每一个特定的实体在该属性上的取值唯一如学生的学号,年龄、性别、系别等多值属性某个特定的实体在该属性上的有多于一个的取值如学生(学号,所选课程,联系电话),ER图基本概念的补充说明,2.属性的类型派生属性与基属性派生属性可以从其他相关的属性或实体派生出来的属性值数据库中,一般只存基属性值,而派生属性只存其定义或依赖关系,用到时再从基属性中计算出来勿轻易引入派生属性,属性在E-R图中的表示,多值属性用双椭圆表示,派生属性用虚椭圆表示,数据抽象,数据抽象 在系统需求分析阶段,最后得到了多层数据流图、数据字典和系统分析报告。现在就是要根据需求分析,对实际的人、物、事和概念进行人为的处理,抽取所关心的共同特性,忽略非本质的细节,并把各种概念精确地加以描述,利用这些概念形成某种模型。数据抽象的种类分类(is member of)聚集(is part of)联系:静态联系(概括(is subset of))和动态联系,确定实体及其属性,分类(Classification)分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。对象和实体之间是“is member of”的关系。例如,在教学管理中,“赵亦”是一名学生,表示“赵亦”是学生中的一员,她具有学生们共同的特性和行为。又如,对于某销售系统,张三是系统中某用户,他行使采购的功能,李四也是系统中某用户,他行使财务结算的功能。采购和财务结算实际上是一种权限,因此我们抽象出角色,用来表示系统中行使不同权限的用户。,聚集(Aggregation)聚集定义某一类型的组成成份,将对象类型的组成成份抽象为实体的属性。组成成份与对象类型之间是“is part of”的关系。例如,学号、姓名、性别、年龄、系别等可以抽象为学生实体的属性。,某些扩展ER特性的表示,概括用标记为ISA的三角形来表示,表示高层实体和低层实体之间的“父类子类”联系(或教材P217方法),它定义了型之间的一种子集联系,6.3.3-3 ER图设计要点,1 确定实体与属性 任务:命名 确定实体码 确定实体内属性 方法 以需求分析说明书中DD的数据结构为基础点。可再分者为实体年龄显然作属性。单位若还可细分为单位号DH、单位名称DM、单位地址DD,则为实体。实体内部属性不能再与其它实体有联系。同一实体内两属性间可有联系,但一般不应与其它实体发生联系,这种联系应该是实体间。,系别作为一个属性或实体,职称作为一个属性或实体,ER图设计要点,1.实体集,属性,ER图设计要点(续),1.实体集,属性,实体有多方面性质,属性没有,ER图设计要点(续),2.确定联系存在性联系系有学生,学生有课程,课程有成绩功能性联系教师教学生,工程师参与工程事件联系顾客发出订单,学生借书,局部ER图设计总结,需求分析结果,确定局部结构范围,实体定义,联系定义,属性分配,全局E-R模式设计,6.3.4 视图集成,多元集成法,一次性将多个局部E-R图合并为一个全局E-R图。二元集成法,首先集成两个重要的局部视图,以后用累加的方法逐步将一个新的视图集成进来。在实际应用中,可以根据系统复杂性选择这两种方案。一般采用逐步集成的方法,如果局部视图比较简单,可以采用多元集成法。一般情况下,采用二元集成法,即每次只综合两个视图,这样可降低难度。无论使用哪一种方法,视图集成均分成两个步骤:合并.消除各局部E-R图之间的冲突,生成初步E-R图。优化.消除不必要的冗余,生成基本E-R图。,(1)合并局部E-R图,生成初步E-R图将所有的局部E-R图综合成全局概念结构。全局概念结构它不仅要支持所有的局部E-R模型,而且必须合理地表示一个完整、一致的数据库概念结构。由于各个局部应用不同,通常由不同的设计人员进行局部E-R图设计,因此,各局部E-R图不可避免地会有许多不一致的的地方,我们称之为冲突。合并局部E-R图时并不能简单地将各个E-R图画到一起,而必须消除各个局部E-R图中的不一致,使合并后的全局概念结构不仅支持所有的局部E-R模型,而且必须是一个能为全系统中所有用户共同理解和接受的完整的概念模型。合并局部E-R图的关键就是合理消除各局部E-R图中的冲突。,E-R图中的冲突有三种:属性冲突、命名冲突和结构冲突。属性冲突属性冲突又分为属性值域冲突和属性的取值单位冲突。a.属性值域冲突,即属性值的类型、取值范围或取值集合不同。比如学号,有些部门将其定义为数值型,而有些部门将其定义为字符型。又如年龄,有的可能用出生年月表示,有的则用整数表示。b.属性的取值单位冲突。比如零件的重量,有的以公斤为单位,有的以斤为单位,有的则以克为单位。属性冲突属于用户业务上的约定,必须与用户协商后解决。,命名冲突命名不一致可能发生在实体名、属性名或联系名之间,其中属性的命名冲突更为常见。一般表现为同名异义或异名同义(实体、属性、联系名)。a.同名异义,即同一名字的对象在不同的部门中具有不同的意义。例,局部应用A中将教室称为房间 局部应用B中将学生宿舍称为房间b.异名同义,即同一意义的对象在不同的部门中具有不同的名称。比如,对于“科研项目”这个名称,在财务科称为项目,在科研处称为课题,在生产管理处称为工程。命名冲突的解决方法同属性冲突,需要与各部门协商、讨论后加以解决。,有三类结构冲突同一对象在不同应用中具有不同的抽象 例,“课程”在某一局部应用中被当作实体 在另一局部应用中则被当作属性解决方法:通常是把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。但是要遵照局部视图设计中提到的两个原则。,有三类结构冲突同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。产生原因:不同的局部应用关心的是该实体的不同侧面。解决方法:使该实体的属性取各分E-R图中属性的并集,再适当设计属性的次序,有三类结构冲突实体之间的联系在不同局部视图中呈现不同的类型例1,实体E1与E2在局部应用A中是多对多联系,而在局部应用B中是一对多联系例2,在局部应用X中E1与E2发生联系,而在局部应用Y中E1、E2、E3三者之间有联系。解决方法:根据应用语义对实体联系的类型进行综合或调整。(P226图6.27),(2)修改与重构基本任务:消除不必要的冗余,设计生成基本E-R图,(2)修改与重构函数依赖的概念提供了消除冗余的形式化工具。,全局ER图设计 1,6.3.4 全局ER图模式优化,6.4 逻辑数据库设计,逻辑结构设计的任务概念结构是各种数据模型的共同基础为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。逻辑结构设计的步骤将概念结构转化为一般的关系模型对数据模型进行优化转换内容E-R图由实体、实体的属性和实体之间的联系三个要素组成关系模型的逻辑结构是一组关系模式的集合将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。,6.4.3 ER图向关系模型的转换,1.实体和属性实体 关系属性 关系的属性,6.4.3-1 实体和属性,6.4.3 ER图向关系模型的转换(续),2.联系一对一联系:若联系双方均部分参与,则将联系定义为一个新的关系,属性为参与双方的码。,职工,配偶,丈夫,妻子,配偶(丈夫职工号,妻子职工号),6.4.3 ER图向关系模型的转换(续),一个m:n联系转换为一个关系模式。关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合 例,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:选修(学号,课程号,成绩),6.4.3 ER图向关系模型的转换(续),一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。1)转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的码:n端实体的码,管理(sno,clno),2)与n端对应的关系模式合并合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性合并后关系的码:不变可以减少系统中的关系个数,一般情况下更倾向于采用这种方法,学生(sno,sname,clno),6.4.3 ER图向关系模型的转换(续),一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。1)转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本身的属性关系的候选码:每个实体的码均是该关系的候选码,6.4.3 ER图向关系模型的转换(续),2)与某一端对应的关系模式合并合并后关系的属性:加入对应关系的码和联系本身的属性合并后关系的码:不变,6.4.3 ER图向关系模型的转换(续),注意:从理论上讲,1:1联系可以与任意一端对应的关系模式合并。但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。,6.4.3 ER图向关系模型的转换(续),三个或三个以上实体间的一个多元联系转换为一个关系模式。关系的属性:与该多元联系相连的各实体的码以及联系本身的属性关系的码:各实体码的组合,供应(供应商号,项目号,零件号,数量),6.4.3 ER图向关系模型的转换(续),6 具有相同码的关系模式可合并。目的:减少系统中的关系个数。合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。,6.4.3 ER图向关系模型的转换(续),例子,2具体做法(1)把每一个实体转换为一个关系首先分析各实体的属性,从中确定其主键,然后分别用关系模式表示。例如,前页ER图中的四个实体分别转换成四个关系模式:学生(学号,姓名,性别,年龄)课程(课程号,课程名)教师(教师号,姓名,性别,职称)系(系名,电话)其中,有下划线者表示是主键。,6.4 逻辑结构设计,(2)把每一个联系转换为关系模式由联系转换得到的关系模式的属性集中,包含两个发生联系的实体中的主键以及联系本身的属性,其关系键的确定与联系的类型有关。例如,前图四个联系也分别转换成四个关系模式:属于(教师号,系名)讲授(教师号,课程号)选修(学号,课程号,成绩)拥有(系名,学号)1:1的联系也可以与任意一端对应的关系模式合并,并在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。1:n的联系也可以与n端对应的关系模式合并,并在这一端加上1端关系模式的码和联系本身的属性。,6.4.4 数据模型的优化,并不是规范化程度越高的关系就越优。当一个应用的查询中经常涉及到两个或多个关系模式的属性时,系统必须经常地进行联接运算,而联系运算的代价是相当高的,可以说关系模型低效的主要原因就是做联接运算引起的,因此在这种情况下,第二范式甚至第一范式也许是最好的。,6.4.4 数据模型的优化,非BCNF的关系模式虽然从理论上分析会存在不同程度的更新异常,但如果在实际应用中对此关系模式只是查询,并不执行更新操作,则就不会产生实际影响。对于一个具体应用来说,到底规范化进行到什么程度,需要权衡响应时间和潜在问题两者的利弊才能决定。一般说来,第三范式就足够了。,6.4.4 数据模型的优化,例:在关系模式 学生成绩单(学号,英语,数学,语文,平均成绩)中存在下列函数依赖:学号英语 学号数学 学号语文 学号平均成绩(英语,数学,语文)平均成绩,显然有:学号(英语,数学,语文)因此该关系模式中存在传递函数信赖,是2NF关系。虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学生的平均成绩,为提高效率,我们仍然可保留该冗余数据,对关系模式不再做进一步分解。,6.4.4 数据模型的优化,6.4.5 设计用户子模式,定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。定义用户外模式时应该更注重考虑用户的习惯与方便。包括三个方面:,设计用户子模式(续),(1)使用更符合用户习惯的别名合并各分E-R图曾做了消除命名冲突的工作,以使数据库系统中同一关系和属性具有唯一的名字。这在设计数据库整体结构时是非常必要的。但对于某些局部应用,由于改用了不符合用户习惯的属性名,可能会使他们感到不方便,因此在设计用户的子模式时可以重新定义某些属性名,使其与用户习惯一致。,例:负责学籍管理的用户习惯于称教师模式的职工号为教师编号。因此可以定义视图,在视图中职工号重定义为教师编号。,设计用户子模式(续),(2)针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。,设计用户子模式(续),例:教师关系模式中包括职工号、姓名、性别、出生日期、婚姻状况、学历、学位、政治面貌、职称、职务、工资、工龄、教学效果等13个属性。学籍管理应用只能查询教师的职工号、姓名、性别、职称数据;课程管理应用只能查询教师的职工号、姓名、性别、学历、学位、职称、教学效果数据;教师管理应用则可以查询教师的全部数据。,设计用户子模式(续),定义两个外模式:教师_学籍管理(职工号,姓名,性别,职称)教师_课程管理(工号,姓名,性别,学历,学位,职称,教学效果)授权学籍管理应用只能访问教师_学籍管理视图授权课程管理应用只能访问教师_课程管理视图授权教师管理应用能访问整个教师表这样就可以防止用户非法访问本来不允许他们查询的数据,保证了系统的安全性。,设计用户子模式(续),(3)简化用户对系统的使用如果某些局部应用中经常要使用某些很复杂的查询,为了方便用户,可以将这些复杂查询定义为视图。,6.1 数据库设计概述6.2 需求分析6.3 概念结构设计6.4 逻辑结构设计6.5 物理设计6.6 数据库实施6.7 数据库运行和维护,6.5 物理设计,第6章 数据库设计,对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构的过程,称为数据库物理设计。物理设计的任务是为了有效地实现逻辑模式,确定所采取的存储策略。此阶段是以逻辑设计的结果作为输入,结合具体DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。数据库的物理设计可分为两步:(1)确定物理结构,在关系数据库中主要指存取方法和存储结构;(2)评价物理结构,评价的重点是时间和空间效率。,6.5 物理设计,6.1 数据库设计概述6.2 需求分析6.3 概念结构设计6.4 逻辑结构设计6.5 物理设计6.6 数据库实施6.7 数据库运行和维护,6.6 数据库实施,第6章 数据库设计,6.6 数据库的实施,数据库实施的工作内容用DDL定义数据库结构组织数据入库编制与调试应用程序数据库试运行,一、定义数据库结构,确定了数据库的逻辑结构与物理结构后,就可以用所选用的DBMS提供的数据定义语言(DDL)来严格描述数据库结构。,例,对于前面的例子,可以用SQL语句如下定义表结构:CREATE TABLE 学生(学号 CHAR(8),);CREATE TABLE 课程();,定义数据库结构(续),接下来是在这些基本表上定义视图:CREATE VIEW.();如果需要使用聚簇,在建基本表之前,应先用CREATE CLUSTER语句定义聚族。,二、数据装载,数据库结构建立好后,就可以向数据库中装载数据。组织数据入库是数据库实施阶段最主要的工作。数据装载方法人工方法计算机辅助数据入库,数据装载(续),人工方法:适用于小型系统计算机辅助数据入库:适用于中大型系统步骤1)筛选数据。需要装入数据库中的数据通常都分散在各个部门的数据文件或原始凭证中,所以首先必须把需要入库的数据筛选出来。2)转换数据格式。筛选出来的需要入库的数据,其格式往往不符合数据库要求,还需要进行转换。这种转换有时可能很复杂。3)输入数据。将转换好的数据输入计算机中。4)校验数据。检查输入的数据是否有误。,数据装载(续),如果数据库是在老的文件系统或数据库系统的基础上设计的,则数据输入子系统只需要完成转换数据、综合数据两项工作,直接将老系统中的数据转换成新系统中需要的数据格式。为了保证数据能够及时入库,应在数据库物理设计的同时编制数据输入子系统。,三、编制与调试应用程序,在数据库实施阶段,当数据库结构建立好后,就可以开始编制与调试数据库的应用程序。调试应用程序时由于数据入库尚未完成,可先使用模拟数据。,四、数据库试运行,应用程序调试完成,并且已有一小部分数据入库后,就可以开始数据库的试运行。数据库试运行也称为联合调试,其主要工作包括:1)功能测试:实际运行应用程序,执行对数据库的各种操作,测试应用程序的各种功能。2)性能测试:测量系统的性能指标,分析是否符合设计目标。,数据库试运行(续),数据库性能指标的测量数据库物理设计阶段在评价数据库结构估算时间、空间指标时,作了许多简化和假设,忽略了许多次要因素,因此结果必然很粗糙。数据库试运行则是要实际测量系统的各种性能指标(不仅是时间、空间指标),如果结果不符合设计目标,则需要返回物理设计阶段,调整物理结构,修改参数;有时甚至需要返回逻辑设计阶段,调整逻辑结构。,数据库试运行(续),数据的分期入库重新设计物理结构甚至逻辑结构,会导致数据重新入库。由于数据入库工作量实在太大,所以可以采用分期输入数据的方法先输入小批量数据供先期联合调试使用待试运行基本合格后再输入大批量数据逐步增加数据量,逐步完成运行评价,数据库试运行(续),数据库的转储和恢复在数据库试运行阶段,系统还不稳定,硬、软件故障随时都可能发生系统的操作人员对新系统还不熟悉,误操作也不可避免因此必须做好数据库的转储和恢复工作,尽量减少对数据库的破坏。,第六章 数据库设计,6.1 数据库设计概述6.2 需求分析6.3 概念结构设计6.4 逻辑结构设计6.5 数据库的物理设计6.6 数据库实施6.7 数据库运行与维护6.8 小结,6.7 数据库运行与维护,数据库试运行结果符合设计目标后,数据库就可以真正投入运行了。数据库投入运行标着开发任务的基本完成和维护工作的开始对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。应用环境在不断变化物理存储也在变化,数据库运行与维护(续),在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,包括:数据库的转储和恢复转储和恢复是系统正式运行后最重要的维护工作之一。DBA要针对不同的应用要求制定不同的转储计划,定期对数据库和日志文件进行备份。一旦发生介质故障,即利用数据库备份及日志文件备份,尽快将数据库恢复到某种一致性状态。,数据库运行与维护(续),数据库的安全性、完整性控制DBA必须根据用户的实际需要授予不同的操作权限。在数据库运行过程中,由于应用环境的变化,对安全性的要求也会发生变化,DBA需要根据实际情况修改原有的安全性控制。由于应用环境的变化,数据库的完整性约束条件也会变化,也需要DBA不断修正,以满足用户要求。,数据库运行与维护(续),数据库性能的监督、分析和改进在数据库运行过程中,DBA必须监督系统运行,对监测数据进行分析,找出改进系统性能的方法。利用监测工具获取系统运行过程中一系列性能参数的值通过仔细分析这些数据,判断当前系统是否处于最佳运行状态如果不是,则需要通过调整某些参数来进一步改进数据库性能,数据库运行与维护(续),数据库的重组织和重构造 1)数据库的重组织为什么要重组织数据库数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。,数据库运行与维护(续),重组织的形式全部重组织部分重组织只对频繁增、删的表进行重组织重组织的目的提高系统性能,重组织的工作按原设计要求重新安排存储位置回收垃圾减少指针链数据库的重组织不会改变原设计的数据逻辑结构和物理结构,数据库运行与维护(续),DBMS一般都提供了供重组织数据库使用的实用程序,帮助DBA重新组织数据库。,数据库运行与维护(续),2)数据库的重构造为什么要进行数据库的重构造数据库应用环境发生变化,会导致实体及实体间的联系也发生相应的变化,使原有的数据库设计不能很好地满足新的需求增加新的应用或新的实体取消某些已有应用改变某些已有应用,数据库运行与维护(续),数据库重构造的主要工作根据新环境调整数据库的模式和内模式增加新的数据项改变数据项的类型改变数据库的容量增加或删除索引修改完整性约束条件,数据库运行与维护(续),重构造数据库的程度是有限的若应用变化太大,已无法通过重构数据库来满足新的需求,或重构数据库的代价太大,则表明现有数据库应用系统的生命周期已经结束,应该重新设计新的数据库系统,开始新数据库应用系统的生命周期了。,

    注意事项

    本文(数据库技术与应用PPT课件第六章数据库设计.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开