第8章 数据库设计.pptx

上传人:莉*** 文档编号:80109458 上传时间:2023-03-22 格式:PPTX 页数:127 大小:603.25KB
返回 下载 相关 举报
第8章 数据库设计.pptx_第1页
第1页 / 共127页
第8章 数据库设计.pptx_第2页
第2页 / 共127页
点击查看更多>>
资源描述

《第8章 数据库设计.pptx》由会员分享,可在线阅读,更多相关《第8章 数据库设计.pptx(127页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 数据库设计的任务图8.1第1页/共127页8.1.1.2 8.1.1.2 数据库设计的内容数据库设计的内容 数据库设计包括数据库的结构设计和数据库的行为设计两方面的内容。(1)数据库的结构设计 数据库的结构设计是指根据给定的应用环境,进行数据库的模式或子模式的设计。(2)数据库的行为设计 数据库的行为设计是指确定数据库用户的行为和动作。第2页/共127页8.1.1.3 8.1.1.3 数据库设计的特点数据库设计的特点“三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据”是数是数据库建设的基本规律。据库建设的基本规律。结构(数据)设计应该和行为(处理)设计密切结构(数据)设计

2、应该和行为(处理)设计密切结合。结合。也就是说,整个设计过程中要把数据库结构设计和对数据的处理设计密切结合起来。第3页/共127页8.1.28.1.2数据库设计方法简述数据库设计方法简述数据库设计方法目前可分为四类:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。1.直观设计法直观设计法也叫手工试凑法,它是最早使用的数据库设计方法。第4页/共127页2 2规范设计法规范设计法 新奥尔良法将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。下面简单介绍几种常用的规范设计方法。第5页/共127页(1)基于E-R模型的数据库

3、设计方法(2)基于3NF的数据库设计方法 具体设计步骤分为五个阶段:设计企业模式,利用规范化得到的3NF关系模式画出企业模式;设计数据库的概念模式,把企业模式转换成DBMS所能接受的概念模式,并根据概念模式导出各个应用的外模式;设计数据库的物理模式(存储模式)对物理模式进行评价;数据库实现。第6页/共127页(3)基于视图的数据库设计方法 基本思想是为每个应用建立自己的视图,然后再把这些视图汇总起来合并成整个数据库的概念模式。合并过程中要解决以下问题:消除命名冲突;消除冗余的实体和联系;进行模式重构,在消除了命名冲突和冗余后;需要对整个汇总模式进行调整,使其满足全部完整性约束条件。第7页/共1

4、27页规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。计算机辅助设计法是指在数据库设计的某些过程中模拟某一规范化设计的方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。一种实用的数据库设计方法至少应包括设计过程、设计技术、评价准则、信息需求和描述机制。第8页/共127页 8.1.3 数据库设计的步骤 1需求分析阶段2概念设计阶段3逻辑设计阶段4物理设计阶段 5数据库实施阶段 6数据库运行、维护阶段第9页/共127页分析系统需求设计概念结构设计逻辑结构优化数据模型决策评价决策评价设计物理结构决策评价实施数据库使用维护数据库6、数据库运行和、数据库运行

5、和维护阶段维护阶段5、数据库实施阶、数据库实施阶段段4、数据库物理结、数据库物理结构设计阶段构设计阶段3、逻辑结构设计、逻辑结构设计阶段阶段1、系统需求分析、系统需求分析阶段阶段2、概念结构设计、概念结构设计阶段阶段第10页/共127页数据库设计步骤数据库设计步骤系统需求分析阶段概念结构设计阶段逻辑结构设计阶段物理结构设计阶段数据库实施阶段数据库使用维护阶段运行、维护数据库运行、维护数据库数据入库,编制应用程序数据入库,编制应用程序将将E-R图转换成具体关系模图转换成具体关系模式式建立逻辑模型、用户视图建立逻辑模型、用户视图综合各个用户的应用需求综合各个用户的应用需求形成独立于形成独立于DBM

6、S的概念的概念模型模型用用E-R图描述图描述安排物理存储,设计索引安排物理存储,设计索引第11页/共127页图8.3 数据库设计步骤第12页/共127页设计阶段设计阶段设计描述设计描述 数数 据据 处处 理理 需求分析需求分析数据字典、全系统中数据项、数据字典、全系统中数据项、数据流、数据存储的描述数据流、数据存储的描述数据流图和判定表数据流图和判定表(判定树判定树)数据字典中处理过程的描述数据字典中处理过程的描述概念结构设计概念结构设计概念模型概念模型(E-R图图)数据字典数据字典 系统说明书。包括:系统说明书。包括:(1)新系统要求、方案和概图新系统要求、方案和概图(2)反映新系统信息的数

7、据流图反映新系统信息的数据流图逻辑结构设计逻辑结构设计某种数据模型某种数据模型关系模型关系模型 系统结构图系统结构图非关系模型非关系模型(模块结构图模块结构图)物理设计物理设计存储安排存储安排存取方法选择存取方法选择存取路径建立存取路径建立模块设计模块设计存取路径建立存取路径建立IPO表表实施阶段实施阶段编写模式编写模式装入数据装入数据数据库试运行数据库试运行程序编码程序编码编译联结编译联结测试测试运行维护运行维护 性能测试,转储恢复数据库性能测试,转储恢复数据库重组和重构重组和重构新旧系统转换、运行、维护新旧系统转换、运行、维护(修修正性、适应性、改善性维护正性、适应性、改善性维护)第13页

8、/共127页8.2 8.2 系统需求分析系统需求分析8.2.1 系统需求分析的任务1.调查分析用户活动具体做法是:(1)调查组织机构情况,包括该组织的部门组成情况,各部门的职责和任务等。(2)调查各部门的业务活动情况,包括各部门输入和输出的数据与格式、所需的表格与卡片、加工处理这些数据的步骤、输入输出的部门等。(3)调查分析的方法 第14页/共127页概念概念设计设计阶段阶段需求分析阶段需求分析阶段需求分析阶段熟悉业务活动明确用户需求确定系统边界分析系统功能分析系统数据编写分析报告调查机构情况数据字典数据流程图用户活动图用户数据库设计人员第15页/共127页常用的调查方法有以下几种:跟班作业。

9、通过亲身参加业务工作来了解业务活动的情况。这种方法可以比较准确地理解用户的需求,但比较耗费时间。开调查会。通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。询问。对某些调查中的问题,可以找专人询问。设计用户调查表。如果调查表设计得合理,这种方法很有效,也易于为用户接受。查阅记录。即查阅与原系统有关的数据记录。第16页/共127页2.收集和分析需求数据,确定系统边界(1)信息需求指目标范围内涉及的所有实体、实体的属性以及实体间的联系等数据对象,也就是用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。第17页/共127页 (

10、2)处理需求指用户为了得到需求的信息而对数据进行加工处理的要求,包括对某种处理功能的响应时间,处理的方式(批处理或联机处理)等。(3)安全性和完整性的需求。在定义信息需求和处理需求的同时必须确定相应的安全性和完整性约束。第18页/共127页3.编写需求分析说明书系统分析报告应包括如下内容:(1)系统概况、系统的目标、范围、背景、历史和现状;(2)系统的原理和技术,对原系统的改善;(3)系统总体结构与子系统结构说明;(4)系统功能说明;(5)数据处理概要、工程体制和设计阶段划分;(6)系统方案及技术、经济、功能和操作上的可行性。第19页/共127页随系统分析报告提供下列附件:(1)系统的硬件、软

11、件支持环境的选择及规格要求(所选择的数据库管理系统、操作系统、汉字平台、计算机型号及其网络环境等)。(2)组织机构图、组织之间联系图和各机构功能业务一览图。(3)数据流程图、功能模块图和数据字典等图表。第20页/共127页8.2.2 系统需求分析的方法 分析和表达用户需求的方法很多,主要方法有自顶向下和自底向上两种(a)自顶向下的需求分析 (b)自底向上的需求分析第21页/共127页8.2.2.1 数据流图 数据流图的绘制建立在SADT的基础上,采取自上而下的方法。首先,将整个系统作为一个处理(功能),绘制顶层图。然后,逐级细化,分解成详略不同的多层数据流图,直到满足需要为止。第22页/共12

12、7页图8.5 系统顶层数据流图第23页/共127页数据流图使用的符号说明第24页/共127页一个数据流图的示例 第25页/共127页8.2.2.2 8.2.2.2 数据字典数据字典数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典中的内容在数据库设计过程中还要不断修改、充实和完善。一般来说数据字典中应包括对以下几部分数据的描述:第26页/共127页1数据项 数据项是数据的最小单位,对数据项的描述应包括:数据项名、含义、别名、类型、长度、取值范围,以及与其他数据项的逻辑关系。2数据结构 数据结构是若干数据项有意义的集合。对数据结构的描述应包括:数据结构

13、名,含义说明和组成该数据结构的数据项名。第27页/共127页3数据流 数据流可以是数据项,但更一般的情况下是数据结构,表示某一处理过程的输入或输出数据。对数据流的描述应包括:数据流名,说明,从什么处理过程来,到什么处理过程去以及组成该数据流的数据结构或数据项。第28页/共127页4.数据存储数据存储 数据存储定义的目的是确定最终数据库需要存储那些信息。(1)考察数据流图中每个数据存储信息,确定其是否应该而且可能由数据库存储,若是,则列入数据库需要存储的信息范围。第29页/共127页(2)定义每个数据存储。对数据存储的描述应包括:数据存储名、存储的数据项说明、建立该数据存储的应用(即数据处理)、

14、存取该数据存储的处理过程、数据量、存取频度(指每天或每小时或每分钟存取几次)、操作类型(是检索还是更新)和存取方式(是批处理还是联机处理,是顺序存取还是随机存取)等。第30页/共127页5.处理过程处理过程(1)考察数据流图中的每个数据处理,确定正在设计的数据库系统是否应该而且可能支持这个处理过程。如果应该而且可能支持,把这个功能列入数据库系统支持的应用范围。(2)对于每个处理过程,进行严格定义,内容包括:处理过程名、处理功能描述、处理要求、输入数据、输出数据等等。第31页/共127页需求分析注意点需求分析注意点 确定用户需求是一件很困难的事情。这是因为:第一,应用部门的业务人员常常缺少计算机

15、的专业知识,而数据库设计人员又常常缺乏应用领域的业务知识,因此相互的沟通往往比较困难。第二,不少业务人员往往对开发计算机系统有不同程度的抵触情绪。有的认为需求调查影响了他们的工作,给他们造成了负担,特别是新系统的建设常常伴随企业管理的改革,这会遇到不同部门不同程度的抵触。第32页/共127页第三,应用需求常常在不断改变,使系统设计也常常要进行调整甚至要有重大改变。面对这些困难,设计人员特别应该注意:1用户参与的重要性2用原型法来帮助用户确定他们的需求3预测系统的未来改变第33页/共127页8.3 8.3 概念结构设计概念结构设计 根据需求分析阶段形成的新系统需求分析说明书,把用户的信息需求抽象

16、为信息结构即概念模型的过程就是概念结构设计。用E-R图来描述现实世界的概念模型。第34页/共127页逻辑逻辑设计设计阶段阶段概念结构设计阶段概念结构设计阶段概念设计阶段概念设计阶段合并取消冲突修改重构消除冗余数据字典数据流程图功能模块图需求需求分析分析阶段阶段抽象数据设计局部视图局部E-R图初步E-R图基本E-R图第35页/共127页8.3.1 8.3.1 概念模型的特点概念模型的特点 概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。概念模型作为概念结构设计的表达工具,为数据库提供一个说明性结构,是设计数据库逻辑结构即逻辑模型的基础。概念模型具备以下主要特点:第36页/共

17、127页(1)概念模型是现实世界的一个真实模型 概念模型能表达用户的各种需求,充分反映现实世界,包括事物和事物之间的联系、用户对数据的处理要求。(2)概念模型易于交流和理解。概念模型是DBA、应用开发人员和用户之间的主要界面,因此,概念模型要表达自然、直观和容易理解,以便和不熟悉计算机的用户交换意见,用户的积极参与是保证数据库设计成功的关键。第37页/共127页(3)概念模型易于修改和扩充。概念模型要能灵活地加以改变,以反映用户需求和现实环境的变化。(4)概念模型易于向各种数据模型转换。概念模型独立于特定的DBMS,因而更加稳定,能方便地向关系模型、网状模型或层次模型等各种数据模型转换。第38

18、页/共127页8.3.2 8.3.2 概念结构设计的方法与步骤概念结构设计的方法与步骤 设计概念结构通常有自顶向下、自底向上、逐步扩张和混合策略等4类方法。其中最经常采用的策略是自底向上方法。即自顶向下地进行需求分析,然后再自底向上地设计概念结构,如下所示。第39页/共127页自顶向下需求分析与自底向上设计概念结构第40页/共127页概念结构设计的步骤一般可分为两步:概念结构设计的步骤一般可分为两步:第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构,如下所示。第41页/共127页概念结构设计步骤概念结构设计步骤第42页/共127页8.3.3 8.3.3 数据抽象与局部数

19、据抽象与局部E-RE-R模型设计模型设计 1.数据抽象 所谓抽象是对实际的人、物、事和概念进行人为处理,它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。第43页/共127页一般有三种数据抽象:分类、聚集和概括。分类(Classification)分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。分类抽象了对象值和型之间是“成员”的语义。在E-R模型中,实体集就是这种抽象。例如,在生产管理中,“电脑”是一件产品,表示“电脑”是产品中的一员,他具有产品共同的特性和行为。第44页/共127页 聚

20、集(Aggregation)聚集是定义某一类型的组成部分,它抽象了对象内部类型和对象内部“组成部分”的语义。若干属性的聚集组成了实体型。例如把实体集“产品”的“产品号”、“产品名”、“价格”、“性能”等属性聚集为实体型“产品”。第45页/共127页 概括(Generalization)概括定义了类型之间的一种子集联系,它抽象类型之间的“所属”的语义。例如在电脑工厂中,“产品”是个实体集,“台式机”、“笔记本电脑”也是实体集,但“台式机”、“笔记本电脑”都是“产品”的子集。我们把“产品”称为超类(Superclass),“台式机”、“笔记本电脑”称为“产品”的子类(Subclass)。第46页/

21、共127页2.2.局部局部E-RE-R模型设计模型设计 一般说来,在给定的应用环境中,区别属性与实体要遵循下列两条原则:属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。属性不能与其他实体有联系。在E-R图中所有的联系必须是实体间的联系,而不能有属性与实体之间发生联系。第47页/共127页仓库作为一个属性或实体仓库作为一个属性或实体材料仓库材料号材料名价格仓库号仓库名地址存于1n材料材料号材料名价格仓库电话第48页/共127页一般说来,视图集成可以有两种方式:多个分E-R图一次集成。逐步集成,用累加的方式一次集成两个分E-R图。第1种方法比较复杂,做起来难度较大

22、。第2种方法每次只集成两个分E-R图,可以降低复杂 度。第49页/共127页 图8.7 生产部门的局部E-R图产品零件产品号产品名性能零件号零件名材料名组装mn耗用量零件数第50页/共127页图8.8 供应部门的局部E-R图产品仓库产品号产品名价格仓库号仓库名地点使用mn电话使用量存放量材料材料号材料名价格存放mn第51页/共127页8.3.4 视图的集成视图的集成 无论采用哪种方式,每次集成局部E-R图时都需要分两步走。(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。(2)修改和重构。消除不必要的冗余,生成基本E-R图。第52页/共127页视图集成视图集成第5

23、3页/共127页8.3.4.1 合并局部E-R图,生成初步E-R图 各分E-R图之间的冲突主要有3类:属性冲突、命名冲突和结构冲突。1属性冲突(1)属性域冲突,即属性值的类型、取值范围 或取值集合不同。(2)属性取值单位冲突。第54页/共127页2命名冲突(1)同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。(2)异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。第55页/共127页3结构冲突(1)同一对象在不同应用中具有不同的抽象。(2)同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。(3)实体间的联系在不同的分E-R图中为不同的类型。第

24、56页/共127页例如,下页图中零件与产品之间存在多对多的联系“构成”。产品、零件与供应商三者之间还存在多对多的联系“供应”,这两个联系互相不能包含(读者想一想为什么),在合并两个分E-R图时就应把它们综合起来。第57页/共127页合并两个分E-R图第58页/共127页8.3.4.2 8.3.4.2 修改与重构,消除不必要的修改与重构,消除不必要的冗冗 余,生成基本余,生成基本E-RE-R图图 所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。第59页/共127页消除冗余主要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消

25、除冗余。在下页图中,Q3=Q1Q2,Q4=Q5,所以Q3 和Q4是冗余数据,可以消去。并且由于Q3消去,产品与材料间mn的冗余联系也应消去。第60页/共127页 消除冗余第61页/共127页但并不是所有冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。例如,若物资部门经常要查询各种材料的库存量,如果每次都要查询每个仓库中此种材料的库存,再对它们求和,查询效率就太低了。所以应保留Q4,同时把Q4=Q5定义为Q4的完整性约束条件。每当Q5修改后,就触发该完整性检查例程,对Q4作相应的修改。第62页/共127页 除分析方法外,还可以用规范化理论来消除冗余。在规范化理论中,

26、函数依赖的概念提供了消除冗余联系的形式化工具。具体方法如下:(1)确定分E-R图实体之间的数据依赖。(2)求FL的最小覆盖GL(求最小覆盖的方法可参见7.6节)。差集为:D=FLGL。第63页/共127页 逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。由于规范化理论受到泛关系假设的限制,应注意下面两个问题:(1)冗余的联系一定在D中,而D中的联系不一定是冗余的。(2)当实体之间存在多种联系时要将实体之间的联系在形式上加以区分。第64页/共127页例例2 某工厂信息系统的视图集成。图8.17、图8.23、图8.21分别为该厂销售、物资和劳动人事管理的分E-R图。把这3个分E-R

27、图进行集成过程中解决了以下问题:(1)异名同义,“项目”和“产品”含义相同。某个“项目”实质上是指某个“产品”的生产。统一用“产品”作实体名。第65页/共127页E-RE-R图实例图实例职工号姓名性别年龄职称书号书名简介价格课程名学分课程号专业系班编号成绩学员学号姓名性别年龄教师参考书讲授课程mn1选修mn领导1n学生组成班级n1实体集实体集联系联系属性属性第66页/共127页产品零件性能产品号产品名零件号零件名材料名组装mn耗用量产品仓库成品名成品号价格仓库号仓库名地址使用mn电话使用量存储量材料材料号材料名价格存储mn第67页/共127页产品零件仓库材料组装消耗存储产品号产品名价格性能使用

28、用量材料号材料名价格存储量仓库号仓库名地址电话材料名耗用量零件数消耗量mnnmmmnn零件号零件名第68页/共127页总体总体E-RE-R模型模型(改进改进)产品零件仓库材料组装消耗存储产品号产品名价格性能使用用量材料号材料名价格存储量仓库号仓库名地址电话零件号零件名零件数消耗量mnmmmnnn第69页/共127页8.3.5 8.3.5 采采用用UMLUML类类图图的的概概念念对对象象建建模模 在UML类图中,类表示为三个部分组成的方框:顶端给出了类的名称,例如材料;中间部分给出了该类的属性,例如材料类具有材料号,材料名,价格等属性;最下面的部分给出了可以应用到这些对象的操作,这是E-R图中所

29、没有的。UML概念对象建模示例如图:第70页/共127页图8.11第71页/共127页联系类型称为关联(association),联系的实例被称为链(link)。二元关联表示为一条连接参与类的线段,而且可以有一个名称。联系属性称为链属性(links attribute),置于方框中,该方框与关联之间通过一条虚线相连。联系的约束以min.max的形式指定,采用星号(*)表示参与部分无最大值限制。第72页/共127页在UML中有两类联系:关联和聚合。聚合的意思是表示整个对象和它的组成部分之间的联系,比如产品与零件之间。联系的名称在UML中是可选的,联系属性被表示在方框中,并通过一条虚线与代表关联/

30、聚合的线段相连接。第73页/共127页8.4 8.4 逻辑结构设计逻辑结构设计8.4.1逻辑结构设计的任务和步骤逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构时一般要分三步进行:第74页/共127页1.将概念结构转化为一般的关系、网状、层次模型。2.将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。3.对数据模型进行优化。如图所示:第75页/共127页逻辑结构设计的三个步骤逻辑结构设计的三个步骤 第76页/共127页物理物理设计设计阶段阶段逻辑结构设计阶段逻辑结构设计阶段逻辑结构设计阶段逻辑结

31、构设计阶段模式优化设计用户子模式概念概念设计设计阶段阶段转化为数据模型关系规范化逻辑模型基本E-R图第77页/共127页8.4.2 E-R8.4.2 E-R图向数据模型的转换图向数据模型的转换 E-R图向关系模型的转换要解决的问题是如何将实体和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。关系模型的逻辑结构是一组关系模式的集合。所以将E-R图转换为关系模型实际上就是要将实体、实体属性和实体之间的联系转换为一组关系模式,这种转换一般遵循如下原则:第78页/共127页1一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。2对于实体间的联系则有以下不同的情况:

32、(1)一个11联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。第79页/共127页(2)一个1n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(3)一个mn联系转换为一个关系模式。与该联系相连的各实体的码以及联

33、系本身的属性均转换为关系的属性,各实体码的组成关系的码或关系码的一部分。第80页/共127页(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码组成关系的码或关系码的一部分。(5)具有相同码的关系模式可合并。第81页/共127页实体向关系模式的转换实体向关系模式的转换产品产品(产品号,产品名,性能,价格)零件零件(零件号,零件名)材料材料(材料号,材料名,价格)仓库仓库(仓库号,车库名,地址,电话)产品零件仓库材料组装消耗存储产品号产品名价格性能材料号材料名价格存储量仓库号仓库名地址电话零件号零件名零件数消耗

34、量mnmmnn第82页/共127页联系向关系模式的转换联系向关系模式的转换产品零件一览表产品零件一览表(产品号,零件号,零件数量)零件用料表零件用料表(零件号,材料名,消耗量)材料存放表材料存放表(材料号,仓库号,存储量)产品零件仓库材料组装消耗存储产品号产品名价格性能材料号材料名价格存储量仓库号仓库名地址电话零件号零件名零件数消耗量mnmmnn第83页/共127页带属性的一对多联系带属性的一对多联系司机汽车驾驶工号姓名性别年龄车号车种载重量载客数值勤日n1技术等级司机(工号,姓名,性别,年龄,技术等级)汽车(车号,车种,载重量,载客数)驾驶(工号,车号,值勤日)第84页/共127页没有对应关

35、系的联系没有对应关系的联系司机汽车驾驶工号车号车种载重量载客数值勤日n1技术等级职工包含工号姓名性别年龄司机(工号,技术等级)汽车(车号,车种,载重量,载客数)驾驶(工号,车号,值勤日)职工(工号,姓名,性别,年龄)第85页/共127页存在于三个实体之间的联系存在于三个实体之间的联系供应(公司名,工程号,材料名)n公司供应工程材料Lm公司名 工程号 材料名华都132钢管华兴215铝板向阳132水泥华都730水泥第86页/共127页8.4.3 8.4.3 数据模型的优化数据模型的优化 数据库逻辑设计的结果不是惟一的。为了提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整关系模式,这就是

36、数据模型的优化。关系数据模型的优化通常以规范化理论为指导,方法为:第87页/共127页1.1.确定范式级别确定范式级别 考查关系模式的函数依赖关系,确定范式等级,逐一分析各关系模式 2.2.实施规范化处理实施规范化处理 (1 1)在需求分析阶段,用数据依赖概念分析和表示各个数据项之间的联系。(2 2)在概念结构设计阶段,以规范化理论为指导,确定关系码,消除初步E-RE-R图中冗余的联系。(3 3)在逻辑结构设计阶段,从E-RE-R图向数据模型转换过程中,用模式合并与分解方法达到规范化级别。第88页/共127页3.3.模式评价与改进模式评价与改进(1)模式评价模式评价的目的是检查所设计的数据库模

37、式是否满足用户的功能要求、效率,确定加以改进的部分。模式评价包括功能评价和性能评价。第89页/共127页模式的形成过程模式的形成过程应用要求应用要求概念模式逻辑模式存储模式应用要求综 合转 换转 换外模式外模式外模式应用应用1应用应用2应用应用3映象应用应用1应用应用2应用应用3机器世界模型信息世界模型现实世界第90页/共127页 功能评价 功能评价指对照需求分析的结果,检查规范化后的关系模式集合是否支持用户所有的应用要求。性能评价 对实际性能进行估计,包括逻辑记录的存取数、传送量以及物理设计算法的模型等。第91页/共127页(2)模式改进 合并 如果有若干个关系模式具有相同的主码,并且对这些

38、关系模式的处理主要是查询操作,而且经常是多关系的查询,那么可对这些关系模式按照组合使用频率进行合并。分解第92页/共127页 为了提高数据操作的效率和存储空间的利用率,最常用和最重要的模式优化方法就是分解,根据应用的不同要求,可以对关系模式进行垂直分解和水平分解。水平分解是把(基本)关系的元组分为若干子集合,定义每个子集为一个子关系。垂直分解是把关系模式R的属性分解为若干子集合,形成若干子关系模式。垂直分解的原则是,经常在一起使用的属性从R中分解出来后形成一个子关系模式。分解后的一组关系模式与原关系模式是否等价。第93页/共127页8.4.4 8.4.4 设计用户子模式设计用户子模式 将概念模

39、型转换为全局逻辑模型后,还应该根据局部应用需求,结合具体RDBMS的特点,设计用户的外模式。目前关系数据库管理系统一般都提供了视图(View)概念,可以利用这一功能设计更符合局部用户需要的用户外模式。由于用户外模式与模式是相对独立的,因此在定义用户外模式时可以考虑用户的习惯与方便。包括:第94页/共127页 1使用更符合用户习惯的别名 2可以对不同级别的用户定义不同的View,以保证系统的安全性 例如,有关系模式:产品(产品号,产品名,规格,单价,生产车间,生产负责人,产品成本,产品合格率,质量等级),可以在该关系模式上建立两个视图。第95页/共127页为一般顾客建立视图:产品1(产品号,产品

40、名,规格,单价)为产品销售部门建立视图:产品2(产品号,产品名,规格,单价,车间,生产负责人)3简化用户对系统的使用第96页/共127页8.58.5数据库物理设计数据库物理设计 数据库在实际的物理设备上的存储结构和存取方法称为数据库的物理结构。为设计好的逻辑数据模型选择一个符合应用要求的物理结构就是数据库的物理设计。第97页/共127页实施实施阶段阶段数据库物理设计阶段数据库物理设计阶段数据库物理设计阶段数据库物理设计阶段逻辑逻辑设计设计阶段阶段确定数据库的物理结构评价数据库的物理结构物理模型逻辑模型第98页/共127页 数据库的物理结构是与给定的硬件环境和DBMS软件产品有关的。因此数据库的

41、物理设计依赖具体的DBMS产品。数据库的物理设计通常分为两步:(1)确定数据库的物理结构。(2)对物理结构进行评价,评价的重点是时间和空间效率。第99页/共127页8.5.1确定数据库的物理结构 1存储记录结构的设计在物理结构中,数据的基本存取单位是存储记录。存储记录结构包括记录的组成、数据项的类型和长度,以及逻辑记录到存储记录的映射。文件组织或文件结构是组成文件的存储记录的表示法。文件结构应该表示文件格式、逻辑次序、物理次序、访问路径、物理设备的分配。第100页/共127页决定存储结构的主要因素包括存取时间、存储空间和维护代价三个方面。一般,DBMS也提供一定的灵活性可供选择,包括聚簇和索引

42、。(1)聚簇(Cluster)第101页/共127页 为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块上,这种方法称为聚簇。聚簇方法不但适用于单个关系,也适用于经常进行连接操作的多个关系。即把多个连接关系的元组按连接属性值聚集存放,聚簇中的连接属性称为聚簇码。这就相当于把多个关系按“预连接”的形式存放,从而大大提高连接操作的效率。一个数据库可以建立多个聚簇,一个关系只能加入一个聚簇。第102页/共127页聚簇有两个作用:使用聚簇以后,聚簇码相同的元组集中在一起了,因而聚簇值不必在每个元组中重复存储,只要在一组中存储一次即可,因此可以

43、节省存储空间。聚簇功能可以大大提高按聚簇码进行查询的效率。第103页/共127页(2)索引 在数据库中,用户访问的最小单位是属性。如果对某些非主属性的检索很频繁,可以考虑建立这些属性的索引文件。建立多个索引文件可以缩短存取时间,但是增加了索引文件所占用的存储空间以及维护的开销。第104页/共127页2 2访问方法的设计访问方法的设计 访问方法是为存储在物理设备(通常指辅存)上的数据提供存储和检索能力的方法。一个访问方法包括存储结构和检索机构两个部分。存储结构限定了可能访问的路径和存储记录;检索机构定义了每个应用的访问路径.第105页/共127页 访问路径的设计分成主访问路径与辅访问路径的设计。

44、主访问路径与初始记录的装入有关,通常是用主码来检索的。辅访问路径是通过辅助码的索引对存储记录重新进行内部链接,从而改变访问数据的入口点。用辅助索引可以缩短访问时间,但增加了辅存空间和索引维护的开销。第106页/共127页3数据存放位置的设计 对于有多个磁盘的计算机,可以采用下面几种存放位置的分配方案。将表和索引分别存放在不同的磁盘上,在查询时,由于两个磁盘驱动器并行工作,可以提高物理读写的速度。将比较大的表分别放在两个磁盘上,以加快存取速度,在多用户环境下效果更佳。将备份文件、日志文件与数据库对象(表、索引等)备份等,放在不同的磁盘上。第107页/共127页 对于经常存取或存取时间要求高的对象

45、对于经常存取或存取时间要求高的对象(表、索表、索引等引等)应放在高速存储设备(如硬盘)上。应放在高速存储设备(如硬盘)上。对于存取频率小或存取时间要求低的对对于存取频率小或存取时间要求低的对象象(数据库的数据备份、日志文件备份等,只在数数据库的数据备份、日志文件备份等,只在数据库发生故障进行恢复时才使用据库发生故障进行恢复时才使用),如果数据量很,如果数据量很大,可以存放在低速存储设备(如磁带)上,以大,可以存放在低速存储设备(如磁带)上,以改进整个系统的性能。改进整个系统的性能。第108页/共127页4系统配置的设计 DBMS产品一般都提供了一些系统配置变量、存储分配参数,供设计人员和DBA

46、对数据库进行物理优化。系统配置变量和参数很多,在物理设计时要根据应用环境确定这些参数值,以期其实改进系统性能。第109页/共127页8.5.2 8.5.2 评价物理结构评价物理结构 评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。如果该结构不符合用户需求,则需要修改设计。第110页/共127页8.68.6数据库实施数据库实施 完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言将数据库逻辑设计和物理设计的结果严格描述出来,成为RDBMS可以接受的源代码,再经过调

47、试产生目标模式,然后就可以组织数据入库了,这就是数据库实施阶段。第111页/共127页运行运行维护维护阶段阶段数据库实施阶段数据库实施阶段数据库实施阶段数据库实施阶段物理物理设计设计阶段阶段定义数据库结构数据装载数据库系统物理模型编写应用程序数据库试运行第112页/共127页8.6.1 8.6.1 建立实际数据库结构建立实际数据库结构 DBMS提供的数据定义语言(DDL)可以定义数据库结构。可使用第3章所讲的SQL定义语句中的CREATE TABLE语句定义所需的基本表,使用CREATE VIEW语句定义视图。第113页/共127页8.6.2 8.6.2 装入数据 装入数据又称为数据库加载(L

48、oading),是数据库实施阶段的主要工作。对于一般的小型系统,装入的数据量较少,可以采用人工方法来完成。为了防止不正确的数据输入到数据库内,应当采用多种方法多次对数据进行校验。第114页/共127页8.6.3 8.6.3 应用程序编码与调试 数据库应用程序的设计属于一般的程序设计范畴,但数据库应用程序有自己的一些特点。例如,大量使用屏幕显示控制语句、形式多样的输出报表、重视数据的有效性和完整性检查、有灵活的交互功能。为了加快应用系统的开发速度,一般选择第四代语言开发环境。例 如,目 前 普 遍 使 用 的 PowerBuilder、Delphi以及由北京航空航天大学研制的863CMS支持的数

49、据库开发工具OpenTools等。第115页/共127页8.6.4数据库试运行 输入一小部分数据后就可以开始对数据库系统进行联合调试,这又称为数据库的试运行。这一阶段要实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求。如果不满足,对应用程序部分则要修改和调整,直到达到设计要求为止。第116页/共127页在这一阶段要完成两方面的工作:(1)功能测试。实际运行应用程序,测试它们能否完成各种预定的功能。(2)性能测试。测量系统的性能指标,分析是否符合设计目标。数据库的实施和调试不可能一次完成的,需要有一定的时间。第117页/共127页8.6.5 整理文档 在程序的编

50、码调试和试运行中,应该将发现的问题和解决方法记录下来,将它们整理存档作为资料,供以后正式运行和改进时参考。全部的调试工作完成之后,应该编写应用系统的技术说明书和使用说明书,在正式运行时随系统一起交给用户。完整的文件资料是应用系统的重要组成部分,这一点不能忽视。第118页/共127页8.78.7数据库运行和维护数据库运行和维护数据库运行和维护阶段的主要任务包括以下三项。(1)维护数据库的安全性与完整性 (2)监测并改善数据库性能;(3)重新组织和构造数据厍。第119页/共127页8.7.1 8.7.1 维护数据库的安全性与完整性维护数据库的安全性与完整性 DBA要针对不同的应用要求定制不同的转储

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com