数据库系统概论:chp7 数据库设计_第1页
数据库系统概论:chp7 数据库设计_第2页
数据库系统概论:chp7 数据库设计_第3页
数据库系统概论:chp7 数据库设计_第4页
数据库系统概论:chp7 数据库设计_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库系统概论An Introduction to Database System第七章 数据库设计1数据库在信息系统中的地位作业层管理层决策层信息收集系统数据库管理系统决策支持系统原始信息数据决策信息形式化归纳信息系统数据库已成为现代信息系统的核心和基础部分2数据库设计 数据库设计(Database Design),是指在给定的或待定的软硬件环境下,针对实际的应用问题和用户需求,设计合适的数据模型,建立起满足用户需求、能被具体DBMS接受、能在其上开发所需应用系统、能实现系统目标的数据库结构。数据库设计的基本任务是根据用户的信息需求、处理需求和数据库的支持环境(包括硬件、操作系统和DBMS)

2、,设计出数据库模式(包括外模式、逻辑模式和内模式),及其典型的应用程序。3数据库系统设计数据库系统设计,按照DBS的组成,包括: 1. 人员:DBA、SA、DB设计员、程序员、用户 - 决定 2. 硬件:根据应用需求决定配置 - 购买 3. 软件:OS、DBMS、语言编译系统 - 购买 数据库应用程序 - 设计开发 4. 数据库DB:数据库模式(结构) - 设计 4数据库系统设计DBS设计 = DB结构设计 +DB应用程序设计本章从软件工程的角度来剖析数据库设计的全过程,主要介绍目前最常用的和比较成熟的E-R模型方法。着重于数据的结构特性的设计 - 数据库模式的设计。第6章中已经介绍了数据库模

3、式设计的原则和理论基础,本章继续介绍设计过程和方法。数据的结构特性的设计 - 某数据模型的DB模式(结构、框架)的设计数据的行为特性的设计 - 应用程序、事务处理、功能的设计5内容7.1 数据库设计概述数据库设计的全过程;各阶段的任务、工作步骤7.2 需求分析需求分析的任务和方法7.3 概念结构设计概念设计的重要性;E-R模型的设计方法7.4 逻辑结构设计E-R模型向关系模型的转换7.5 数据库的物理设计物理设计的目标和性能7.6 数据库的实施和维护实施阶段的主要工作; 运行维护阶段的主要工作6 要求掌握DBD的概念、DBD的主要内容和特点DBD各阶段的任务和工作步骤DBD中概念结构设计的重要

4、性概念模型(E-R模型)的设计方法关系数据库逻辑设计的方法和步骤E-R模型向关系模型的转换了解理解物理设计的性能及其表示数据库实施、运行维护的主要工作77.1 数据库设计概述7.1.1 数据库设计的特点7.1.2 数据库设计方法7.1.3 数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式87.1.1 数据库设计的特点数据库建设的基本规律三分技术,七分管理,十二分基础数据 结构(数据)设计和行为(处理)设计相结合 分离进行,互相参照,结合设计,是一种反复探寻、逐步完善的过程。9数据库设计的特点(续)现实世界概念模型设计子模式设计物理数据库设计逻辑数据库设计建立数据库数据分析功能分析功能

5、模型功能说明事务设计程序说明应用程序设计程序编码调试结构和行为的设计互相参照,结合设计,是一种反复探寻、逐步完善的过程。107.1.2 数据库设计方法 手工与经验相结合方法 设计质量与设计人员的经验和水平有直接关系数据库运行一段时间后,常常不同程度地发现各种问题,增加了维护代价规范设计法基本思想:过程迭代和逐步求精DBD是一项涉及多学科的综合性技术 1. 数据库的基本知识和数据库设计技术2. 计算机科学的基础知识3. 程序设计的方法和技巧4. 软件工程的原理和方法5. 应用领域的知识11数据库设计方法(续)新奥尔良(New Orleans)方法将数据库设计分为若干阶段和步骤 基于E-R模型的数

6、据库设计方法概念设计阶段广泛采用3NF(第三范式)的设计方法逻辑阶段可采用的有效方法 ODL(Object Definition Language)方法面向对象的数据库设计方法12数据库设计方法(续)计算机辅助设计ORACLE Designer 2000SYBASE PowerDesigner137.1 数据库设计概述7.1.1 数据库设计的特点7.1.2 数据库设计方法7.1.3 数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式14一、数据库设计的准备工作选定参加设计的人1.系统分析人员、数据库设计人员 自始至终参与数据库设计2. 用户和数据库管理员 主要参加需求分析和数据库的运行

7、维护3.应用开发人员(程序员和操作员) 在系统实施阶段参与进来,负责编制程序和准备软硬件环境 157.1.3 数据库设计基本步骤DBAS主要是一个软件系统,因此软件工程的思想、方法、工具也同样适用于DBAS的开发和建设。软件工程中,软件生存期(软件从定义、开发、运行维护,直到停止使用的整个时期)包括:需求分析软件设计程序编码软件测试软件维护结构设计(总体/概要)过程设计(详细/模块)DB设计也大致对应这个过程,数据库的规范设计法就是比照软件开发过程,提出各种设计准则和规程,方法及步骤的。16数据库的规范设计方法规范设计法把DBS的设计分为6个阶段,称为DBS生存期 参见P201.P203.1.

8、 需求分析:分析用户需求2. 概念设计:信息分析和定义,建立概念模型3. 逻辑设计:设计实现,得到DBMS的数据模型4. 物理设计:为逻辑模型选取合适的物理结构5. 数据库实施:按设计将数据装入数据库6. 数据库运行和维护:规范设计法从本质上看,仍然是手工设计方法,其基本思想是过程迭代和逐步求精。177.1.4 数据库设计的基本步骤分析用户需求(数据和操作),最基础而困难的一步信息分析和定义,建立概念模型,最关键的一步,E-R模型设计实现, 将概念模型转换为某个特定的DBMS支持的数据模型需求分析概念数据库设计逻辑数据库设计物理数据库设计数据库实施数据库运行和维护按照规范设计法,数据库设计划分

9、为6个阶段为逻辑模型选取合适的物理结构建立数据库,编制调试应用程序,试运行 数据库正式运行, 不断修改完善不断反复18数据库设计的基本步骤(续) 设计一个完善的数据库应用系统,往往是上述六个阶段的不断反复 把数据库设计和对数据库中数据处理的设计,紧密结合起来将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计19数据库设计各个阶段的设计描述207.1 数据库设计概述7.1.1 数据库设计的特点7.1.2 数据库设计方法7.1.3 数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式21不同阶段的DB结构设计形成DB各级模式参见P205 数据需

10、求应用1应用2数据需求应用3数据需求逻辑模式转换内模式映像概念模式综合外模式外模式外模式应用1应用3应用2映像需求分析 数据要求概念设计E-R图描述, 独立于机器和具体DBMS逻辑设计需DBMS支持设计模式, 外模式(视图)物理设计据DBMS特点,处理需要,确定存储安排,索引22第七章 数据库设计7.1 数据库设计概述7.2 需求分析需求分析的任务和方法7.3 概念结构设计7.4 逻辑结构设计7.5 数据库的物理设计7.6 数据库实施和维护7.7 小结237.2 需求分析7.2.1 需求分析的任务调查理解、分析综合、描述表达7.2.2 需求分析的方法如何调查、如何分析、如何表达结构化分析法(S

11、A法)数据流图(DFD)、数据字典(DD)7.2.3 数据字典247.2.1 需求分析的任务需求分析:就是分析用户的要求。用户要求:重点是“数据”和“处理”两个方面。数据(信息)要求:用户需要从数据库中获得信息的内容和性质,即数据库中需要存储哪些数据。处理要求:处理功能、响应时间、处理方式。安全性和完整性要求:用户权限、事务处理规则、规章制度。25需求分析的任务、步骤需求分析的任务:由数据库设计人员和用户双方,共同收集信息需求和处理需求;通过仔细分析;将这些需求按一定的规范要求,以用户和设计人员都能理解接受的文档形式确定下来。需求分析的三个步骤: 需求调查: 收集需求信息, 调查清楚用户的实际

12、要求, 与用户达成共识。 分析、整理和表达这些需求信息,形成需求说明书(例如,包括DFD和DD等)。 评审:由主管部门和专家评价、审批。26需求调查的内容现状 现状, 问题,哪些业务适合计算机管理,新系统要求 引入计算机管理后的业务模式、管理模式 功能、性能外部要求:调查数据处理的响应时间、频度和如何发生的规则,以及经济效益的要求,安全性和完整性的要求。 27需求调查的方式 (1) 跟班作业: 亲自参加业务工作, 需求准确, 费时 (2) 开调查会: 座谈, 可以互相启发 (3) 请专人介绍, 个别交谈, 询问 (4) 设计调查表请用户填写 (5) 查阅记录: 现行系统的业务记录, 票据, 报

13、表等28分析整理在调查研究的同时,着手分析整理用户需求。(1) 业务流程分析和表示目的是获得业务流程及业务与数据联系的形式描述。采用数据流层次结构分析法(SA法)。分析结果以数据流图(data flow diagram, DFD图)表示, 再辅以数据字典(DD)作补充描述。DFD是一种自顶向下、逐步细化分析描述对象的工具(软件工程中详细介绍)。(2) 需求信息的补充描述(3) 撰写需求分析说明书29数据流图DFD的基本元素数据流(data flow):代表数据的流动方向,由一组固定成分的数据组成,处理/加工(process):描述了输入数据流到输出数据流的变换,即将输入数据流加工成输出数据流数

14、据存数/文件(file):表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。源或宿(source or sink):代表系统之外的实体,可以是人、物或其他软件系统。 30示例:图书订购系统DFD图书库存入库单图书代理商书库管理收费制作财务报表财务报表经理帐务数据库制作发书单图书订购核准的订购单发书单订购单顾客顾客收费数据帐单31数据流图的层次结构体现了逐步求精327.3 概念结构设计7.3.1 概念结构概念结构, 特点, 描述7.3.2 概念结构设计的方法和步骤四种方法, 三个步骤 7.3.3 数据抽象与局部视图设计数据抽象, 设计各个局部应用的分E-R图7.3.4 视图的集成将

15、各分E-R图综合集成为全局总的E-R图全局总E-R图的优化337.3.1 概念结构需求分析输出系统的需求说明书DFD+DD概念结构设计输出E-R图+DD分E-R图初步E-R图基本E-R图抽象转换概念结构 .信息世界的信息结构 - 用户信息需求的抽象概念结构设计:将用户需求抽象为信息结构的过程34概念结构的特点概念结构的主要特点能真实地充分地反映现实世界的事物及其联系,能满足用户对数据的处理要求易于理解易于更改易于向关系、网状、层次等各种数据模型转换概念结构是各种数据模型的共同基础,它独立于机器和DBMS,比数据模型更抽象、更稳定描述概念模型的有力工具是E-R模型(E-R图)357.3 概念结构

16、设计7.3.1 概念结构7.3.2 概念结构设计的方法与步骤1. 自顶向下 2. 自底向上 3. 逐步扩张 4. 混合策略 7.3.3 数据抽象与局部视图设计7.3.4 视图的集成367.3.2 概念结构设计的方法与步骤自顶向下 自底向上 逐步扩张 混合策略 首先定义全局概念结构的框架,然后逐步细化自顶向下策略377.3.2 概念结构设计的方法与步骤自顶向下 自底向上 逐步扩张 混合策略 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构自底向上策略38概念结构设计的方法与步骤(续)自顶向下 自底向上 逐步扩张 混合策略 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方

17、式逐步生成其他概念结构,直至总体概念结构逐步扩张策略39概念结构设计的方法与步骤(续)自顶向下 自底向上 逐步扩张 混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。40概念结构设计的方法与步骤(续)常用策略自顶向下地进行需求分析自底向上地设计概念结构417.3 概念结构设计7.3.1 概念结构7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成42数据抽象- 概念设计的第一步数据抽象:从现实世界的对象中抽取人们关心的特性,忽略非本质的细节,用各种概念精确地描述这些特性,组

18、成某种模型,这就是数据抽象。实体、属性及实体联系就是对现实世界的数据抽象, 但有些表达还不太精确,引入三种数据抽象,它们精确地描述现实世界的事物及其联系。分类、聚集和概括43数据抽象(续)三种常用抽象1. 分类(Classification)定义某一类概念作为现实世界中一组对象的类型抽象了对象值和型之间的“is member of”的语义44数据抽象(续)2. 聚集(Aggregation)定义某一类型的组成成分抽象了对象内部类型和成分之间“is part of”的语义45数据抽象(续) 复杂的聚集,某一类型的成分仍是一个聚集 更复杂的聚集 46数据抽象(续)3. 概括/泛化(Generali

19、zation)定义类型之间的一种子集联系抽象了类型之间的“is subset of”的语义继承性 47局部视图设计设计分E-R图的步骤:1. 确定各分E-R图的范围(也称选择局部应用)2. 定义实体型3. 定义联系确定局部结构范围需求分析结果还有局部结构待分析定义实体型定义联系属性分配有进入总的初步E-R图的设计 无48 选择局部应用在多层的数据流图中,选择一个适当层次的数据流图,作为设计分E-R图的出发点 通常以中层数据流图作为设计分E-R图的依据49 逐一设计分E-R图任务将各局部应用涉及的数据,分别从数据字典中抽取出来参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码确定实体

20、之间的联系及其类型(1:1,1:n,m:n)两条准则:(1)属性必须是不可分的数据项,不能再由另一些属性组成(2)属性不能与其他实体具有联系。联系只发生在实体之间50逐一设计分E-R图:实体or属性属性必须是不可分的数据项职称作为一个实体51逐一设计分E-R图:实体or属性病房作为一个实体属性不能与其他实体具有联系52逐一设计分E-R图:实体or属性一种货物只存在一个仓库,则仓库(号)作为货物实体的属性。如果一种货物可以存放在多个仓库,或者仓库本身又用面积作为属性,或者与职工发生管理上的联系,那么就应把仓库作为一个实体。53逐一设计分E-R图:定义联系E-R图中, “联系”用于刻画实体集之间的

21、关联。联系大致可以分为三种: 存在性联系。如学校有教师, 教师教有学生, 等 功能性联系。如教师授课, 教师参与管理学生, 等 事件联系。如学生借书,学生打网球,等检查两(多)个实体集之间、实体集内部是否具有联系,确定联系的类型(1:1, 1:n, m:n)。在定义实体间的联系时要尽量消去冗余的联系。为每一个联系命名, 确定是否存在联系的属性。54实例销售管理子系统分E-R图的设计销售管理子系统的主要功能:处理顾客和销售员送来的订单工厂是根据订货安排生产的交出货物同时开出发票收到顾客付款后,根据发票存根和信贷情况进行应收款处理55顶层数据流图应收帐、订单等订单、结算生产部顾客销售管理子系统主管

22、部门生产通知等56实例销售管理子系统分E-R图的设计下图是第一层数据流图,虚线部分划出了系统边界 图7.18 销售管理子系统第一层数据流图 57实例销售管理子系统分E-R图的设计上图中把系统功能又分为多个子系统,下图是第二层数据流图 图7.19 接收订单 58实例销售管理子系统分E-R图的设计参照第二层数据流图和数据字典,遵循前述两个准则,进行如下调整:(1) 订单与订单细节是1n的联系(2) 原订单和产品的联系实际上是订单细节和产品的联系。(3) 图7.21中“发票主清单”是一个数据存储,不必作为实体加入分E-R图(4) 工厂对大宗订货给予优惠59实例销售管理子系统分E-R图的设计分E-R图

23、的框架 60实例销售管理子系统分E-R图的设计得到分E-R图如下图所示 销售管理子系统的分E-R图 61实例销售管理子系统分E-R图的设计对每个实体定义的属性如下:顾客:顾客号,顾客名,地址,电话,信贷状况,账目余额订单:订单号,顾客号,订货项数,订货日期,交货日期,工种号,生产地点订单细则:订单号,细则号,零件号,订货数,金额应收账款:顾客号,订单号,发票号,应收金额,支付日期,支付金额,当前余额,货款限额产品描述:产品号,产品名,单价,重量折扣规则:产品号,订货量,折扣627.3 概念结构设计7.3.1 概念结构7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.

24、4 视图的集成637.3.4 视图的集成视图集成:将所有分E-R图综合成系统的总的初步E-R图。两种集成方式一次集成。 逐步集成,累加方式,一次集成两个 - 常用。 两个步骤 合并。解决各个分E-R图之间的冲突,将各个E-R图合并起来生成系统总的初步E-R图。 优化。对初步E-R图进行修改、重构和优化,消除不必要的冗余,生成系统总的基本E-R图。64两种集成方式一次集成逐步集成一次集成。 逐步集成,累加方式,一次集成两个 - 常用65视图的集成步骤 合并:解决各个分E-R图之间的冲突。 优化:修改、重构和优化,消除不必要的冗余。66合并合理消除各分E-R图的冲突属性冲突命名冲突同名异义、异名同

25、义(一义多名)结构冲突同一对象在不同应用中具有不同的抽象同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同实体之间的联系在不同局部视图中呈现不同的类型属性域冲突属性值的类型取值范围取值集合不同属性取值单位冲突67消除冗余的方法分析方法以数据字典和数据流图为依据根据数据字典中关于数据项之间的逻辑关系检查冗余数据: Q3=Q1Q2 ; Q4=Q5消除冗余数据Q3和Q4,并且由于Q3消去,产品和材料之间的m:n的冗余联系也应消去68消除冗余的方法 效率VS冗余信息并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。需要根据用户的整体需求来确定若人

26、为地保留了一些冗余数据,则应把数据字典中数据关联的说明,作为完整性约束条件Q4=Q5一旦Q5修改后就应当触发完整性检查,对Q4进行修改69消除冗余的方法规范化理论消除冗余1. 确定分E-R图实体之间的数据依赖 ,可用实体码之间的函数依赖表示。部门和职工之间一对多的联系: 职工号部门号职工和产品之间多对多的联系: (职工号,产品号)工作天数 得到函数依赖集FL2. 求FL的最小覆盖GL ,差集为D = FL-GL。 逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。实体之间存在多种联系时,要将实体之间的联系在形式上加以区分70实例 某工厂管理信息系统的视图集成P19 :图1.14(

27、c)工厂物资管理E-R图P219:图7.24 销售管理子系统的分E-R图P223:图7.29 劳动人事管理的分E-R图71分E-R图P19:图1.14(c) 工厂物资管理E-R图72分E-R图图7.24 销售管理子系统的分E-R图73分E-R图图7.29 劳动人事管理的分E-R图74集成基本E-R图 75集成过程,解决了以下问题: 异名同义,项目和产品含义相同库存管理中职工与仓库的工作关系,已包含在劳动人事管理的部门与职工之间的联系之中,所以可以取消职工之间领导与被领导关系,可由部门与职工(经理)之间的领导关系、部门与职工之间的从属关系两者导出,取消76验证整体概念结构确保它能够满足下列条件:

28、整体概念结构内部必须具有一致性,不存在互相矛盾的表达整体概念结构能准确地反映原来的每个视图结构,包括属性、实体及实体间的联系整体概念结构能满足需要分析阶段所确定的所有要求应该提交给用户,征求用户和有关人员的意见,进行评审、修改和优化,然后把它确定下来,作为数据库的概念结构,作为进一步设计数据库的依据。77概念结构设计小结根据需求分析,抽象数据设计局部视图确定实体与属性确定实体之间的联系集成局部视图,得到全局概念结构合并优化验证整体概念结构78第七章 数据库设计7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的

29、优化7.4.3 设计用户子模式7.5 数据库的物理设计7.6 数据库的实施和维护7.7 小结797.4 逻辑结构设计逻辑结构设计的任务把概念结构设计阶段设计好的基本E-R图,转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构逻辑结构设计的步骤将概念结构转化为一般的关系、网状、层次模型将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换对数据模型进行优化80 逻辑结构设计(续)逻辑结构设计时的3个步骤 817.4.1 E-R图向关系模型的转换E-R图向关系模型的转换要解决的问题 如何将实体型和实体间的联系转换为关系模式如何确定这些关系模式的属性和码 一个实体型 转化为 一个关系

30、模式;关系模式的属性 = 实体型的属性;每个联系类型 转化为 一个独立的关系模式关系模式的属性 = 与该联系相连的各实体型的码 + 该联系自身的属性例:选修(学号,课程号,成绩)考虑优化,联系的转换可根据不同情况作不同的处理82联系的转换:不同情况的处理(1)一个1:1联系:转换为一个独立的关系模式 与某一端实体对应的关系模式合并例如:图7.30中部门和职工的1:1的“领导”联系: 部门(部门号, 部门名, 经理的职工号, 电话) 职工(职工号,职工姓名,性别,职工任职的部门号)(2)一个1:n联系: 转换为一个独立的关系模式与n端对应的关系模式合并图7.30中部门和职工的1:n的“属于”联系

31、,可合并到职工关系模式: 职工(职工号, 职工姓名, 性别, 部门号)问:此职工关系模式中的“部门号”有什么作用?是什么码?83联系的转换:不同情况的处理(3) 一个m:n联系必须转换为一个关系模式。例,“选修”联系是一个m:n联系,选修(学号,课程号,成绩)(4)三个或以上实体间的多元联系,转换为一个关系模式。 例:供应(供应商号, 产品号, 零件号, 供应量) 讲授(课程号,职工号,书号)(5)具有相同码的关系模式可合并减少系统中的关系个数合并方法:取属性的并集847.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式857.4.2 数

32、据模型的优化数据库逻辑设计的结果不是唯一的。得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。关系数据模型的优化,通常以规范化理论为指导规范化过程分两步:1) 确定规范化级别2) 实施规范化分解86优化数据模型的方法确定数据依赖按需求分析阶段所得到的语义,分别写出每个关系模式内部,各属性之间的数据依赖,以及不同关系模式属性之间数据依赖对数据依赖进行极小化处理,消除 冗余的联系。确定所属范式按照需求的要求,分析对于这样的应用环境这些模式是否合适,是否要对它们进行合并或分解。对关系模式进行必要的分解,以提高数据操作的效率和存储空间的利

33、用率水平分解 : 行/元组分为若干子集合垂直分解: 列/属性分为若干子集合877.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式887.4.3 设计用户子模式根据局部应用的需求, 结合具体DBMS的特点, 设计用户的外(子)模式 。利用视图(View)功能设计。定义用户外模式时注重考虑用户的习惯和方便:(1) 使用更符合用户习惯的别名。(2) 对不同级别的用户定义不同的View, 以保证系统的安全性。(3) 简化用户对系统的使用。89逻辑结构设计小结E-R图向关系模型的转换原则优化数据模型的方法 1. 确定数据依赖 2. 对于各个关系模

34、式之间的数据依赖进行极小化处理,消除冗余的联系。 3. 确定各关系模式分别属于第几范式。 4. 分析对于应用环境这些模式是否合适,确定是否要对它们进行合并或分解。 5. 对关系模式进行必要的分解或合并设计用户子模式90第七章 数据库设计7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 数据库的物理设计7.6 数据库的实施和维护7.7 小结917.5 数据库的物理设计数据库的物理结构: 数据库在物理设备上的存储结构和存取方法。数据库的物理设计: 为一个给定的逻辑数据模型,选取一个最适合应用要求的物理结构的过程。这也是物理设计的目标。物理设计的步骤:(1) 确定

35、数据库的物理结构, 在关系数据库中主要指存取方法和存储结构。(2) 对物理结构进行评价, 评价的重点是时间和空间效率。92物理设计的步骤数据库物理设计确定数据库的物理结构评价数据库的物理结构逻辑结构设计数据库实施物理模型逻辑模型937.5 数据库的物理设计7.5.1 数据库物理设计的内容和方法7.5.2 关系模式存取方法选择7.5.3 确定数据库的存储结构7.5.4 评价物理结构947.5.1数据库的物理设计的内容和方法关系数据库物理设计的内容为关系模式选择存取方法(建立存取路径) 设计关系、索引、日志、备份等数据库文件的物理存储结构957.5.1 数据库物理设计的内容和方法设计物理数据库结构

36、的准备工作对要运行的事务进行详细分析,获得选择物理数据库设计所需参数充分了解所用RDBMS的内部特征,特别是系统提供的存取方法和存储结构967.5.1 数据库物理设计的内容和方法没有通用的物理设计的方法, 只给出一般的设计内容和设计原则。设计前的准备工作1.要充分了解应用环境,详细分析要运行的事务。以获得选择物理数据库设计所需要的参数。分析数据库查询事务需要的信息、数据更新事务需要的信息、每个事务在各关系上运行的频率和性能要求等。2. 要充分了解所用的 DBMS的内部特征, 特别是系统提供的存取方法和存储结构。97数据库物理设计所需参数 数据库查询事务查询的关系查询条件所涉及的属性连接条件所涉

37、及的属性查询的投影属性数据更新事务被更新的关系每个关系上的更新操作条件所涉及的属性 修改操作要改变的属性值 每个事务在各关系上运行的频率和性能要求987.5 数据库的物理设计7.5.1 数据库物理设计的内容和方法7.5.2 关系模式存取方法选择索引方法聚簇(Cluster)方法HASH方法7.5.3 确定数据库的存储结构7.5.4 评价物理结构99索引存取方法的选择选择索引存取方法 就是根据应用要求确定:对哪些属性列建立索引?建立组合索引、唯一索引?选择索引存取方法的一般规则经常在查询条件中出现,经常作为最大值和最小值等聚集函数的参数常在连接操作的连接条件中出现索引的额外开销 维护索引的开销

38、查找索引的开销100二、聚簇存取方法的选择聚簇为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上,具有相同值的元组,集中存放在连续的物理块称为聚簇优点:1. 大大提高按聚簇码进行查询的效率2. 节省存储空间缺点:聚簇只能提高某些特定应用的性能建立与维护聚簇的开销相当大101聚簇存取方法的选择1. 对经常在一起进行连接操作的关系,可以建立组合聚簇;2. 如果一个关系的一组属性,经常出现在相等比较条件中,则该单个关系可建立聚簇;3. 如果一个关系的一个(或一组)属性上的值重复率很高,则此单个关系可建立聚簇。即对应每个聚簇码值的平均元组数不是太少。太少了,聚簇的效果不明显。10

39、2三、HASH存取方法的选择选择HASH存取方法的规则该关系的属性,主要出现在等值连接条件中,或主要出现在相等比较选择条件中该关系的大小可预知,而且不变; 或 该关系的大小动态改变,但所选用的DBMS提供了动态HASH存取方法1037.5 数据库的物理设计7.5.1 数据库物理设计的内容和方法7.5.2 关系模式存取方法选择索引方法聚簇(Cluster)方法HASH方法7.5.3 确定数据库的存储结构7.5.4 评价物理结构1047.5.3 确定数据库的存储结构1. 确定数据的存放位置和存储结构。确定关系(表)、索引、聚簇、日志、备份等数据的存储安排和存储结构2. 确定系统配置。DBMS提供有

40、一些系统配置变量、存储分配参数,供设计人员和DBA对数据库进行物理优化。1051. 确定数据的存放位置影响数据存放位置和存储结构的因素:硬件环境应用需求要综合考虑 : 存取时间、 存储空间利用率、 维护代价这三个方面常常是相互矛盾的,需权衡折中。比如:消除一切冗余数据,虽能够节约存储空间和减少维护代价,但往往会导致检索代价的增加。106确定数据的存放位置的原则基本原则是根据应用情况将:易变部分与稳定部分,存取频率较高部分与存取频率较低部分分开存放。可以将日志文件与数据库对象(表、索引等)放在不同的磁盘以改进系统的性能。可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效

41、。数据库数据备份、日志文件备份等由于只在故障恢复时才使用,而且数据量很大,可以考虑存放在磁带上。1072. 确定系统配置DBMS产品一般都提供了一些存储分配参数 同时使用数据库的用户数 同时打开的数据库对象数 内存分配参数 使用的缓冲区长度、个数 存储分配参数 .系统为这些变量都赋予了合理的缺省值。但是这些值不一定适合每一种应用环境,在进行物理设计时,需要根据应用环境确定这些参数值,以使系统性能最优。1087.5.4 评价物理结构设计过程中产生的多种方案,进行评价,从中选择一个较优的方案定量估算各种方案 存储空间 存取时间 维护代价对估算结果进行权衡、比较,选择出一个较优的合理的物理结构如果该结构不符合用户需求,则需要修改设计109回顾数据需求应用1应用2数据需求应用3数据需求逻辑模式转换内模式映像概念模式综合外模式外模式外模式应用1应用3应用2映像需求分析 数据要求概念设计E-R图描述, 独立于机器和具体DBMS逻辑设计需DBMS支持设计模式, 外模式(视图)物理设计据DBMS特点,处理需要,确定存储安排,索引110第七章 数据库设计7.1 数据库设计概述7.2 需求分析7.3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论