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

    【教学课件】第8章数据库设计.ppt

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

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

    【教学课件】第8章数据库设计.ppt

    第8章 数据库设计,8.1数据库设计概述,数据库设计的任务、内容和特点数据库设计的任务数据库设计是指根据用户需求研制数据库结构的过程。数据库设计的任务如图8.1所示。,数据库设计的任务,图8.1,8.1.1.2 数据库设计的内容 数据库设计包括数据库的结构设计和数据库的行为设计两方面的内容。(1)数据库的结构设计 数据库的结构设计是指根据给定的应用环境,进行数据库的模式或子模式的设计。(2)数据库的行为设计 数据库的行为设计是指确定数据库用户的行为和动作。,8.1.1.3 数据库设计的特点“三分技术,七分管理,十二分基础数据”是数据库建设的基本规律。结构(数据)设计应该和行为(处理)设计密切结合。也就是说,整个设计过程中要把数据库结构设计和对数据的处理设计密切结合起来。,数据库设计方法简述数据库设计方法目前可分为四类:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。直观设计法直观设计法也叫手工试凑法,它是最早使用的数据库设计方法。,2规范设计法 新奥尔良法将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。下面简单介绍几种常用的规范设计方法。,(1)基于E-R模型的数据库设计方法(2)基于3NF的数据库设计方法 具体设计步骤分为五个阶段:设计企业模式,利用规范化得到的3NF关系模式画出企业模式;设计数据库的概念模式,把企业模式转换成DBMS所能接受的概念模式,并根据概念模式导出各个应用的外模式;设计数据库的物理模式(存储模式)对物理模式进行评价;数据库实现。,(3)基于视图的数据库设计方法 基本思想是为每个应用建立自己的视图,然后再把这些视图汇总起来合并成整个数据库的概念模式。合并过程中要解决以下问题:消除命名冲突;消除冗余的实体和联系;进行模式重构,在消除了命名冲突和冗余后;需要对整个汇总模式进行调整,使其满足全部完整性约束条件。,规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。计算机辅助设计法是指在数据库设计的某些过程中模拟某一规范化设计的方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。一种实用的数据库设计方法至少应包括设计过程、设计技术、评价准则、信息需求和描述机制。,8.1.3 数据库设计的步骤 1需求分析阶段2概念设计阶段3逻辑设计阶段4物理设计阶段 5数据库实施阶段 6数据库运行、维护阶段,分析系统需求,6、数据库运行和维护阶段,数据库设计步骤,系统需求分析阶段,概念结构设计阶段,逻辑结构设计阶段,物理结构设计阶段,数据库实施阶段,数据库使用维护阶段,运行、维护数据库,数据入库,编制应用程序,将E-R图转换成具体关系模式建立逻辑模型、用户视图,综合各个用户的应用需求,形成独立于DBMS的概念模型用E-R图描述,安排物理存储,设计索引,图8.3 数据库设计步骤,8.2 系统需求分析,8.2.1 系统需求分析的任务1.调查分析用户活动具体做法是:(1)调查组织机构情况,包括该组织的部门组成情况,各部门的职责和任务等。(2)调查各部门的业务活动情况,包括各部门输入和输出的数据与格式、所需的表格与卡片、加工处理这些数据的步骤、输入输出的部门等。(3)调查分析的方法,需求分析阶段,熟悉业务活动,明确用户需求,确定系统边界,分析系统功能,分析系统数据,编写分析报告,调查机构情况,数据字典,数据流程图,用户活动图,用户,数据库设计人员,常用的调查方法有以下几种:跟班作业。通过亲身参加业务工作来了解业务活动的情况。这种方法可以比较准确地理解用户的需求,但比较耗费时间。开调查会。通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。询问。对某些调查中的问题,可以找专人询问。设计用户调查表。如果调查表设计得合理,这种方法很有效,也易于为用户接受。查阅记录。即查阅与原系统有关的数据记录。,2.收集和分析需求数据,确定系统边界(1)信息需求指目标范围内涉及的所有实体、实体的属性以及实体间的联系等数据对象,也就是用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。,(2)处理需求指用户为了得到需求的信息而对数据进行加工处理的要求,包括对某种处理功能的响应时间,处理的方式(批处理或联机处理)等。(3)安全性和完整性的需求。在定义信息需求和处理需求的同时必须确定相应的安全性和完整性约束。,3.编写需求分析说明书系统分析报告应包括如下内容:(1)系统概况、系统的目标、范围、背景、历史和现状;(2)系统的原理和技术,对原系统的改善;(3)系统总体结构与子系统结构说明;(4)系统功能说明;(5)数据处理概要、工程体制和设计阶段划分;(6)系统方案及技术、经济、功能和操作上的可行性。,随系统分析报告提供下列附件:(1)系统的硬件、软件支持环境的选择及规格要求(所选择的数据库管理系统、操作系统、汉字平台、计算机型号及其网络环境等)。(2)组织机构图、组织之间联系图和各机构功能业务一览图。(3)数据流程图、功能模块图和数据字典等图表。,8.2.2 系统需求分析的方法 分析和表达用户需求的方法很多,主要方法有自顶向下和自底向上两种(a)自顶向下的需求分析(b)自底向上的需求分析,8.2.2.1 数据流图 数据流图的绘制建立在SADT的基础上,采取自上而下的方法。首先,将整个系统作为一个处理(功能),绘制顶层图。然后,逐级细化,分解成详略不同的多层数据流图,直到满足需要为止。,图8.5 系统顶层数据流图,数据流图使用的符号说明,一个数据流图的示例,8.2.2.2 数据字典数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典中的内容在数据库设计过程中还要不断修改、充实和完善。一般来说数据字典中应包括对以下几部分数据的描述:,1数据项 数据项是数据的最小单位,对数据项的描述应包括:数据项名、含义、别名、类型、长度、取值范围,以及与其他数据项的逻辑关系。2数据结构 数据结构是若干数据项有意义的集合。对数据结构的描述应包括:数据结构名,含义说明和组成该数据结构的数据项名。,3数据流 数据流可以是数据项,但更一般的情况下是数据结构,表示某一处理过程的输入或输出数据。对数据流的描述应包括:数据流名,说明,从什么处理过程来,到什么处理过程去以及组成该数据流的数据结构或数据项。,4.数据存储 数据存储定义的目的是确定最终数据库需要存储那些信息。(1)考察数据流图中每个数据存储信息,确定其是否应该而且可能由数据库存储,若是,则列入数据库需要存储的信息范围。,(2)定义每个数据存储。对数据存储的描述应包括:数据存储名、存储的数据项说明、建立该数据存储的应用(即数据处理)、存取该数据存储的处理过程、数据量、存取频度(指每天或每小时或每分钟存取几次)、操作类型(是检索还是更新)和存取方式(是批处理还是联机处理,是顺序存取还是随机存取)等。,5.处理过程(1)考察数据流图中的每个数据处理,确定正在设计的数据库系统是否应该而且可能支持这个处理过程。如果应该而且可能支持,把这个功能列入数据库系统支持的应用范围。(2)对于每个处理过程,进行严格定义,内容包括:处理过程名、处理功能描述、处理要求、输入数据、输出数据等等。,需求分析注意点,确定用户需求是一件很困难的事情。这是因为:第一,应用部门的业务人员常常缺少计算机的专业知识,而数据库设计人员又常常缺乏应用领域的业务知识,因此相互的沟通往往比较困难。第二,不少业务人员往往对开发计算机系统有不同程度的抵触情绪。有的认为需求调查影响了他们的工作,给他们造成了负担,特别是新系统的建设常常伴随企业管理的改革,这会遇到不同部门不同程度的抵触。,第三,应用需求常常在不断改变,使系统设计也常常要进行调整甚至要有重大改变。面对这些困难,设计人员特别应该注意:1用户参与的重要性2用原型法来帮助用户确定他们的需求3预测系统的未来改变,8.3 概念结构设计,根据需求分析阶段形成的新系统需求分析说明书,把用户的信息需求抽象为信息结构即概念模型的过程就是概念结构设计。用E-R图来描述现实世界的概念模型。,概念结构设计阶段,合并取消冲突,修改重构消除冗余,数据字典,数据流程图,功能模块图,抽象数据,设计局部视图,局部E-R图,初步E-R图,基本E-R图,8.3.1 概念模型的特点 概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。概念模型作为概念结构设计的表达工具,为数据库提供一个说明性结构,是设计数据库逻辑结构即逻辑模型的基础。概念模型具备以下主要特点:,(1)概念模型是现实世界的一个真实模型 概念模型能表达用户的各种需求,充分反映现实世界,包括事物和事物之间的联系、用户对数据的处理要求。(2)概念模型易于交流和理解。概念模型是DBA、应用开发人员和用户之间的主要界面,因此,概念模型要表达自然、直观和容易理解,以便和不熟悉计算机的用户交换意见,用户的积极参与是保证数据库设计成功的关键。,(3)概念模型易于修改和扩充。概念模型要能灵活地加以改变,以反映用户需求和现实环境的变化。(4)概念模型易于向各种数据模型转换。概念模型独立于特定的DBMS,因而更加稳定,能方便地向关系模型、网状模型或层次模型等各种数据模型转换。,8.3.2 概念结构设计的方法与步骤 设计概念结构通常有自顶向下、自底向上、逐步扩张和混合策略等4类方法。其中最经常采用的策略是自底向上方法。即自顶向下地进行需求分析,然后再自底向上地设计概念结构,如下所示。,自顶向下需求分析与自底向上设计概念结构,概念结构设计的步骤一般可分为两步:,第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构,如下所示。,概念结构设计步骤,8.3.3 数据抽象与局部E-R模型设计 1.数据抽象 所谓抽象是对实际的人、物、事和概念进行人为处理,它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。,一般有三种数据抽象:分类、聚集和概括。分类(Classification)分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。分类抽象了对象值和型之间是“成员”的语义。在E-R模型中,实体集就是这种抽象。例如,在生产管理中,“电脑”是一件产品,表示“电脑”是产品中的一员,他具有产品共同的特性和行为。,聚集(Aggregation)聚集是定义某一类型的组成部分,它抽象了对象内部类型和对象内部“组成部分”的语义。若干属性的聚集组成了实体型。例如把实体集“产品”的“产品号”、“产品名”、“价格”、“性能”等属性聚集为实体型“产品”。,概括(Generalization)概括定义了类型之间的一种子集联系,它抽象类型之间的“所属”的语义。例如在电脑工厂中,“产品”是个实体集,“台式机”、“笔记本电脑”也是实体集,但“台式机”、“笔记本电脑”都是“产品”的子集。我们把“产品”称为超类(Superclass),“台式机”、“笔记本电脑”称为“产品”的子类(Subclass)。,2.局部E-R模型设计 一般说来,在给定的应用环境中,区别属性与实体要遵循下列两条原则:属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。属性不能与其他实体有联系。在E-R图中所有的联系必须是实体间的联系,而不能有属性与实体之间发生联系。,仓库作为一个属性或实体,电话,一般说来,视图集成可以有两种方式:多个分E-R图一次集成。逐步集成,用累加的方式一次集成两个分E-R图。第1种方法比较复杂,做起来难度较大。第2种方法每次只集成两个分E-R图,可以降低复杂 度。,图8.7 生产部门的局部E-R图,图8.8 供应部门的局部E-R图,8.3.4 视图的集成,无论采用哪种方式,每次集成局部E-R图时都需要分两步走。(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。(2)修改和重构。消除不必要的冗余,生成基本E-R图。,视图集成,8.3.4.1 合并局部E-R图,生成初步E-R图 各分E-R图之间的冲突主要有3类:属性冲突、命名冲突和结构冲突。1属性冲突(1)属性域冲突,即属性值的类型、取值范围 或取值集合不同。(2)属性取值单位冲突。,2命名冲突(1)同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。(2)异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。,3结构冲突(1)同一对象在不同应用中具有不同的抽象。(2)同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。(3)实体间的联系在不同的分E-R图中为不同的类型。,例如,下页图中零件与产品之间存在多对多的联系“构成”。产品、零件与供应商三者之间还存在多对多的联系“供应”,这两个联系互相不能包含(读者想一想为什么),在合并两个分E-R图时就应把它们综合起来。,合并两个分E-R图,8.3.4.2 修改与重构,消除不必要的冗 余,生成基本E-R图 所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。,消除冗余主要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。在下页图中,Q3=Q1Q2,Q4=Q5,所以Q3 和Q4是冗余数据,可以消去。并且由于Q3消去,产品与材料间mn的冗余联系也应消去。,消除冗余,但并不是所有冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。例如,若物资部门经常要查询各种材料的库存量,如果每次都要查询每个仓库中此种材料的库存,再对它们求和,查询效率就太低了。所以应保留Q4,同时把Q4=Q5定义为Q4的完整性约束条件。每当Q5修改后,就触发该完整性检查例程,对Q4作相应的修改。,除分析方法外,还可以用规范化理论来消除冗余。在规范化理论中,函数依赖的概念提供了消除冗余联系的形式化工具。具体方法如下:(1)确定分E-R图实体之间的数据依赖。(2)求FL的最小覆盖GL(求最小覆盖的方法可参见7.6节)。差集为:D=FLGL。,逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。由于规范化理论受到泛关系假设的限制,应注意下面两个问题:(1)冗余的联系一定在D中,而D中的联系不一定是冗余的。(2)当实体之间存在多种联系时要将实体之间的联系在形式上加以区分。,例2 某工厂信息系统的视图集成。图8.17、图8.23、图8.21分别为该厂销售、物资和劳动人事管理的分E-R图。把这3个分E-R图进行集成过程中解决了以下问题:(1)异名同义,“项目”和“产品”含义相同。某个“项目”实质上是指某个“产品”的生产。统一用“产品”作实体名。,E-R图实例,产品,零件,性能,产品号,产品名,零件号,零件名,材料名,组装,m,n,耗用量,产品,仓库,成品名,成品号,价格,仓库号,仓库名,地址,使用,m,n,电话,使用量,存储量,材料,材料号,材料名,价格,存储,m,n,总体E-R模型(改进),8.3.5 采用UML类图的概念对象建模 在UML类图中,类表示为三个部分组成的方框:顶端给出了类的名称,例如材料;中间部分给出了该类的属性,例如材料类具有材料号,材料名,价格等属性;最下面的部分给出了可以应用到这些对象的操作,这是E-R图中所没有的。UML概念对象建模示例如图:,图8.11,联系类型称为关联(association),联系的实例被称为链(link)。二元关联表示为一条连接参与类的线段,而且可以有一个名称。联系属性称为链属性(links attribute),置于方框中,该方框与关联之间通过一条虚线相连。联系的约束以min.max的形式指定,采用星号(*)表示参与部分无最大值限制。,在UML中有两类联系:关联和聚合。聚合的意思是表示整个对象和它的组成部分之间的联系,比如产品与零件之间。联系的名称在UML中是可选的,联系属性被表示在方框中,并通过一条虚线与代表关联/聚合的线段相连接。,8.4 逻辑结构设计,逻辑结构设计的任务和步骤逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构时一般要分三步进行:,将概念结构转化为一般的关系、网状、层次模型。将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。对数据模型进行优化。如图所示:,逻辑结构设计的三个步骤,逻辑结构设计阶段,模式优化,设计用户子模式,转化为数据模型,关系规范化,逻辑模型,基本E-R图,8.4.2 E-R图向数据模型的转换 E-R图向关系模型的转换要解决的问题是如何将实体和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。关系模型的逻辑结构是一组关系模式的集合。所以将E-R图转换为关系模型实际上就是要将实体、实体属性和实体之间的联系转换为一组关系模式,这种转换一般遵循如下原则:,1一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。2对于实体间的联系则有以下不同的情况:(1)一个11联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。,(2)一个1n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(3)一个mn联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组成关系的码或关系码的一部分。,(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码组成关系的码或关系码的一部分。(5)具有相同码的关系模式可合并。,实体向关系模式的转换,产品(产品号,产品名,性能,价格),联系向关系模式的转换,产品零件一览表(产品号,零件号,零件数量),零件用料表(零件号,材料名,消耗量),材料存放表(材料号,仓库号,存储量),带属性的一对多联系,司机(工号,姓名,性别,年龄,技术等级),汽车(车号,车种,载重量,载客数),驾驶(工号,车号,值勤日),没有对应关系的联系,司机(工号,技术等级),汽车(车号,车种,载重量,载客数),驾驶(工号,车号,值勤日),职工(工号,姓名,性别,年龄),存在于三个实体之间的联系,供应(公司名,工程号,材料名),8.4.3 数据模型的优化 数据库逻辑设计的结果不是惟一的。为了提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整关系模式,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导,方法为:,1.确定范式级别 考查关系模式的函数依赖关系,确定范式等级,逐一分析各关系模式 2.实施规范化处理(1)在需求分析阶段,用数据依赖概念分析和表示各个数据项之间的联系。(2)在概念结构设计阶段,以规范化理论为指导,确定关系码,消除初步E-R图中冗余的联系。(3)在逻辑结构设计阶段,从E-R图向数据模型转换过程中,用模式合并与分解方法达到规范化级别。,3.模式评价与改进(1)模式评价模式评价的目的是检查所设计的数据库模式是否满足用户的功能要求、效率,确定加以改进的部分。模式评价包括功能评价和性能评价。,模式的形成过程,应用要求,应用要求,概念模式,逻辑模式,存储模式,应用要求,综 合,转 换,转 换,外模式,外模式,外模式,应用1,应用2,应用3,映象,应用1,应用2,应用3,机器世界模型,信息世界模型,现实世界,功能评价 功能评价指对照需求分析的结果,检查规范化后的关系模式集合是否支持用户所有的应用要求。性能评价 对实际性能进行估计,包括逻辑记录的存取数、传送量以及物理设计算法的模型等。,(2)模式改进 合并 如果有若干个关系模式具有相同的主码,并且对这些关系模式的处理主要是查询操作,而且经常是多关系的查询,那么可对这些关系模式按照组合使用频率进行合并。分解,为了提高数据操作的效率和存储空间的利用率,最常用和最重要的模式优化方法就是分解,根据应用的不同要求,可以对关系模式进行垂直分解和水平分解。水平分解是把(基本)关系的元组分为若干子集合,定义每个子集为一个子关系。垂直分解是把关系模式R的属性分解为若干子集合,形成若干子关系模式。垂直分解的原则是,经常在一起使用的属性从R中分解出来后形成一个子关系模式。分解后的一组关系模式与原关系模式是否等价。,8.4.4 设计用户子模式 将概念模型转换为全局逻辑模型后,还应该根据局部应用需求,结合具体RDBMS的特点,设计用户的外模式。目前关系数据库管理系统一般都提供了视图(View)概念,可以利用这一功能设计更符合局部用户需要的用户外模式。由于用户外模式与模式是相对独立的,因此在定义用户外模式时可以考虑用户的习惯与方便。包括:,1使用更符合用户习惯的别名 2可以对不同级别的用户定义不同的View,以保证系统的安全性 例如,有关系模式:产品(产品号,产品名,规格,单价,生产车间,生产负责人,产品成本,产品合格率,质量等级),可以在该关系模式上建立两个视图。,为一般顾客建立视图:产品1(产品号,产品名,规格,单价)为产品销售部门建立视图:产品2(产品号,产品名,规格,单价,车间,生产负责人)3简化用户对系统的使用,8.5数据库物理设计,数据库在实际的物理设备上的存储结构和存取方法称为数据库的物理结构。为设计好的逻辑数据模型选择一个符合应用要求的物理结构就是数据库的物理设计。,数据库物理设计阶段,确定数据库的物理结构,评价数据库的物理结构,物理模型,逻辑模型,数据库的物理结构是与给定的硬件环境和DBMS软件产品有关的。因此数据库的物理设计依赖具体的DBMS产品。数据库的物理设计通常分为两步:(1)确定数据库的物理结构。(2)对物理结构进行评价,评价的重点是时间和空间效率。,确定数据库的物理结构 1存储记录结构的设计在物理结构中,数据的基本存取单位是存储记录。存储记录结构包括记录的组成、数据项的类型和长度,以及逻辑记录到存储记录的映射。文件组织或文件结构是组成文件的存储记录的表示法。文件结构应该表示文件格式、逻辑次序、物理次序、访问路径、物理设备的分配。,决定存储结构的主要因素包括存取时间、存储空间和维护代价三个方面。一般,DBMS也提供一定的灵活性可供选择,包括聚簇和索引。(1)聚簇(Cluster),为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块上,这种方法称为聚簇。聚簇方法不但适用于单个关系,也适用于经常进行连接操作的多个关系。即把多个连接关系的元组按连接属性值聚集存放,聚簇中的连接属性称为聚簇码。这就相当于把多个关系按“预连接”的形式存放,从而大大提高连接操作的效率。一个数据库可以建立多个聚簇,一个关系只能加入一个聚簇。,聚簇有两个作用:使用聚簇以后,聚簇码相同的元组集中在一起了,因而聚簇值不必在每个元组中重复存储,只要在一组中存储一次即可,因此可以节省存储空间。聚簇功能可以大大提高按聚簇码进行查询的效率。,(2)索引 在数据库中,用户访问的最小单位是属性。如果对某些非主属性的检索很频繁,可以考虑建立这些属性的索引文件。建立多个索引文件可以缩短存取时间,但是增加了索引文件所占用的存储空间以及维护的开销。,2访问方法的设计 访问方法是为存储在物理设备(通常指辅存)上的数据提供存储和检索能力的方法。一个访问方法包括存储结构和检索机构两个部分。存储结构限定了可能访问的路径和存储记录;检索机构定义了每个应用的访问路径.,访问路径的设计分成主访问路径与辅访问路径的设计。主访问路径与初始记录的装入有关,通常是用主码来检索的。辅访问路径是通过辅助码的索引对存储记录重新进行内部链接,从而改变访问数据的入口点。用辅助索引可以缩短访问时间,但增加了辅存空间和索引维护的开销。,3数据存放位置的设计 对于有多个磁盘的计算机,可以采用下面几种存放位置的分配方案。将表和索引分别存放在不同的磁盘上,在查询时,由于两个磁盘驱动器并行工作,可以提高物理读写的速度。将比较大的表分别放在两个磁盘上,以加快存取速度,在多用户环境下效果更佳。将备份文件、日志文件与数据库对象(表、索引等)备份等,放在不同的磁盘上。,对于经常存取或存取时间要求高的对象(表、索引等)应放在高速存储设备(如硬盘)上。对于存取频率小或存取时间要求低的对象(数据库的数据备份、日志文件备份等,只在数据库发生故障进行恢复时才使用),如果数据量很大,可以存放在低速存储设备(如磁带)上,以改进整个系统的性能。,4系统配置的设计 DBMS产品一般都提供了一些系统配置变量、存储分配参数,供设计人员和DBA对数据库进行物理优化。系统配置变量和参数很多,在物理设计时要根据应用环境确定这些参数值,以期其实改进系统性能。,8.5.2 评价物理结构 评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。如果该结构不符合用户需求,则需要修改设计。,8.6数据库实施,完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言将数据库逻辑设计和物理设计的结果严格描述出来,成为RDBMS可以接受的源代码,再经过调试产生目标模式,然后就可以组织数据入库了,这就是数据库实施阶段。,数据库实施阶段,定义数据库结构,数据装载,数据库系统,物理模型,编写应用程序,数据库试运行,8.6.1 建立实际数据库结构 DBMS提供的数据定义语言(DDL)可以定义数据库结构。可使用第3章所讲的SQL定义语句中的CREATE TABLE语句定义所需的基本表,使用CREATE VIEW语句定义视图。,8.6.2 装入数据 装入数据又称为数据库加载(Loading),是数据库实施阶段的主要工作。对于一般的小型系统,装入的数据量较少,可以采用人工方法来完成。为了防止不正确的数据输入到数据库内,应当采用多种方法多次对数据进行校验。,8.6.3 应用程序编码与调试 数据库应用程序的设计属于一般的程序设计范畴,但数据库应用程序有自己的一些特点。例如,大量使用屏幕显示控制语句、形式多样的输出报表、重视数据的有效性和完整性检查、有灵活的交互功能。为了加快应用系统的开发速度,一般选择第四代语言开发环境。例如,目前普遍使用的PowerBuilder、Delphi以及由北京航空航天大学研制的863CMS支持的数据库开发工具OpenTools等。,数据库试运行 输入一小部分数据后就可以开始对数据库系统进行联合调试,这又称为数据库的试运行。这一阶段要实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求。如果不满足,对应用程序部分则要修改和调整,直到达到设计要求为止。,在这一阶段要完成两方面的工作:(1)功能测试。实际运行应用程序,测试它们能否完成各种预定的功能。(2)性能测试。测量系统的性能指标,分析是否符合设计目标。数据库的实施和调试不可能一次完成的,需要有一定的时间。,8.6.5 整理文档 在程序的编码调试和试运行中,应该将发现的问题和解决方法记录下来,将它们整理存档作为资料,供以后正式运行和改进时参考。全部的调试工作完成之后,应该编写应用系统的技术说明书和使用说明书,在正式运行时随系统一起交给用户。完整的文件资料是应用系统的重要组成部分,这一点不能忽视。,8.7数据库运行和维护,数据库运行和维护阶段的主要任务包括以下三项。(1)维护数据库的安全性与完整性(2)监测并改善数据库性能;(3)重新组织和构造数据厍。,8.7.1 维护数据库的安全性与完整性 DBA要针对不同的应用要求定制不同的转储计划,定期对数据库和日志文件进行备份,以使数据库在发生故障后恢复到某种一致性状态,保证数据库的完整性。,8.7.2 监测并改善数据库性能 在数据库运行过程中,监督系统运行,对监测数据进行分析,找出改进系统性能的方法是DBA的又一重要任务。8.7.3 重新组织和构造数据库 数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织,或部分重组织(只对频繁增、删的表进行重组织)。RDBMS一般都提供数据重组织用的实用程序。,小 结,本章详细介绍了数据库设计的六个阶段:系统需求分析、概念结构设计、逻辑结构设计、物理设计、数据库实施、数据库运行与维护。需求分析是整个设计过程的基础,需求分析的做的不好,可能会导致整个数据库设计返工重做。概念结构设计将需求分析所得到的用户需求抽象为信息结构即概念模型。概念结构设计是整个数据库设计的关键,包括局部E-R图的设计、合并成初步E-R图以及E-R图的优化。,小 结,逻辑机构设计将独立于DBMS的概念模型转化成相应的数据模型,包括初始关系模式设计、关系模式的规范化,模式的评价与改进。物理设计则为给定的逻辑模型选取一个合适应用环境的物理结构,物理设计包括确定物理结构和评价物理结构两部分。,小 结,根据逻辑结构设计和物理设计的结果,在计算机上建立起实际的数据库结构,装入数据,进行应用程序的设计,并试运行整个数据库系统,这是数据库实施阶段的任务。数据库的运行与维护是数据库设计的最后阶段,包括维护数据库的安全性与完整性,监测并改善数据库性能,必要时需要进行数据库的重新组织和构造。,习 题,8.1 数据库设计分为哪几个阶段?每个阶段的主要工 作是什么?8.2 在数据库设计中,需求分析阶段的设计目标是什么?其主要步骤是什么?8.3 什么是数据库的概念结构?试述概念结构设计的步骤?8.4 用E-R图表示概念模式有什么好处?8.5 局部E-R图的集成主要解决什么问题?,习 题,8.6 什么是数据库的逻辑结构设计?试述把E-R图转换为关系模式的转换原则?8.7 数据库实施阶段的主要工作有哪些?8.8 规范化理论对数据库设计有什么指导意义?8.9 学校由若干个系,每个系有若干名教师和学生;每个教师可以担任若干门课程,每个学生可以同时选修多门课程。请设计某学校的教学管理的ER模型,并转换为关系模型。,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开