数据库系统原理及应用 丁忠俊 第五章 DB设计.ppt_第1页
数据库系统原理及应用 丁忠俊 第五章 DB设计.ppt_第2页
数据库系统原理及应用 丁忠俊 第五章 DB设计.ppt_第3页
数据库系统原理及应用 丁忠俊 第五章 DB设计.ppt_第4页
数据库系统原理及应用 丁忠俊 第五章 DB设计.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章 DB 设 计,主要内容:,什么是DB设计?DB设计过程是什么?,DB设计过程:,需求分析 概念设计 逻辑设计 物理设计 实现与维护,重点,第一节 DB 设计及过程,一、什么是DB设计? DB设计:从用户对数据的需求出发,研究并构造数据库结构的过程。 DB设计的应用:计算机信息管理系统。 DB设计的主要目标: 满足应用功能需求 将用户当前和可预知的将来应用的数据及其联系全部准确地存入DB中。 满足用户对数据进行的存、取、查询、删、改等操作要求。 具有良好的DB性能 指对数据的高效率存取和空间的节省,并且具有良好数据共享性、完整性、 一致性及安全保密性。,二、DB设计的步骤 1、DBS生存

2、期 数据库系统生存期:把数据库应用系统从开始规划、分析、设计、实现,投 入运行后的维护到最后为新的系统取代而停止使用的整 个期间称为DBS的生存期。,规划阶段 需求分析阶段 概念设计阶段 逻辑设计阶段 物理设计阶段 实现阶段 运行与维护阶段,DBS生存期的7个阶段:,2、DB设计步骤 DB设计隶属于DBS生存期中。,需求分析,物理设计,逻辑设计,概念设计,DB设计过程包括:,用户要求,DBMS性能要求,硬件和OS特征,需求分析 目标:调查与分析用户的信息要求及应用处理要求和安全性和完整性的要求; 将结果按一定的格式写成需求说明书。交下一阶段设计使用。 概念设计 目标:对需求说明书提供的所有信息

3、,应用处理要求,安全性和完整性的要求 进行抽像与综合处理,按一定的方法构造相应的概念模型。 (如ER模型:独立于DBMS) 逻辑设计 目标:将概念模型转换成等价的并为某个特定的DBMS所接受的DB逻辑 结构。 物理设计 目标:将逻辑DB结构转换成特定的计算机系统所接受的物理DB结构。 关系:前一阶段的结果作为后一阶段工作的依据;若前一阶段出现错误, 相应地要修改后阶段的有关内容。,三、DB设计方法学 DB设计方法学:是一些原则,工具和技术的组合,用于指导实施DBS的开发 与研究。,视图模型化及视图汇总设计方法 NEW ORLEANS(新奥尔良)设计方法 基于E-R模型的DB设计方法。 基于3N

4、F的设计方法 基于抽象语法规范的设计方法 计算机辅助DB设计方法,常见的DB设计方法:,一个好的DB设计方法具有:,满足用户关于功能、性能、安全性、完整性及 发展需求等方面的要求。 服从于特定的DBMS约束。 用简单的模型表示。,具有产生一个实用价值的DB结构:,具有足够的灵活性和通用性:具有供不同经验的人使用,方便转换不同数据模型。,具有可再生产性:不同设计者,用同一方法设计同一问题,得到结果相同或类似。,一个实用DB设计方法至少包括的内容:,设计过程: 设计技术 每一步都可使用一系列的设计技术:分析式、启发式或过程式,技术受设计 者的“风格”影响较小。 评价原则 允许设计者从可选方案中选取

5、一种DB结构,即具有选择的原则。 选择中的评价准则分为定量分析与定性两类: 定量分析:查询的响应时间、更新成本;存储成本、创建时间;重新组织 的成本。 定性分析:系统的灵活性和适应性;用户对设计的可理解性;与其它系统 的兼容性;系统恢复和重新启动能力;对模块增生的分割和接 受能力。,由一系列步骤组成。 每一步可在几个可能设计中作出选择。 应允许设计者返回前面任何一步重新进行修改。,信息需求 信息需求渗透到DB设计的整个过程。 信息需求为两类:信息结构视图:涉及实体属性和联系的一些描述 用法视图:描述企业中的处理要求,指应用程序中使用的 数据及联系。 描述机制 在设计各阶段:不管是需求说明书,D

6、B结构,必须有简单的模型来表达。 针对用户,应用程序员、系统程序员和分析员三个层次应有不 同的模型来表达。,三种基本类型描述机制:,实现设计过程的最终结果将用DBMS的DDL表示。 信息输入描述:需求信息的收集和分析,数据元素及联系 的同义词,异义词和重迭定义等,需用人 工方式描述。 信息输入和DDL描述之间的其它中间步骤结果的描述: 实体联系图。,第二节 需求分析,系统规划阶段是需求分析的前面一个阶段:,规划的内容:,建立数据库的信息范围 信息来源 人力资源 设备资源 软件及支持工具资源 开发成本估算 开发进度计划 现行系统向新系统过渡计划等,一、需求分析步骤 步骤:确定数据库的范围 数据应

7、用过程的分析 数据收集与分析 文档整理及系统评审 二、需求分析的内容 1、确定数据库的范围 确定DB应支持哪些应用功能。 尽可能考虑到将来的应用要求,提高DB的应变能力。 手段:借助机构与职能关系图确定DB范围,可作为概念设计的局部化处理 和子模式设计。 例:公司机构与职能关系图:,公司,财务科,生产科,销售科,销售,产品设计,产品制造,日常报销,成本计算,统计报表,业务核算,2、数据应用过程分析 当DB范围确定后,进行应用过程分析。 每一个部门或功能要作用哪些元数据(metadata) 数据使用的顺序 对数据作何种处理及处理的策略 处理的结果等 用数据流程图(DFD)和数据字典描述过程和记载

8、数据。 手段:一般采用数据流程图(DFD)描述:数据流,处理框,存储信息框 数据字典(DD):登记DFD中,数据流,处理框,存储信息框的详细 内容。 3、数据的收集与分析 数据收集与分析的对象:报表,文件,单据及各种原始资料等.,主要内容:,数据收集与分析的内容:,静态数据结构 动态数据结构 数据约束,静态数据结构 通过分类表和数据元素表登记。 数据分类表:数据ID,数据名,用途,主人,用户,来源,去向,存档时间,数据量。 数据元素表:数据ID,数据元素ID,元素名,意义,类型,长度,算法,备注。 动态数据结构 指施加于数据之上的操作以后的数据状况。 通过任务分类表和数据操作特征表进行说明。

9、a、任务分类表:任务ID,名称,功能,类型,主人,用户,执行时间,频率,备注。 任务:指在DFD图中的业务处理过程里的具有特定处理功能相对独立的操作序列, 如:输入,统计,输出等。 类型:查询,输入,制表,统计,修改,删除等。 频率:单位时间执行任务的次数。 b、数据操作特征表 描术任务与数据的之间的关系,对任务分类表中的每一个数据建立对应的操作特征表。 数据操作特征表:任务ID,数据ID,建立,查询,插入,修改,删除,数据量。 数据约束 数据的安全保密 数据的完整性 数据的响应时间 数据恢复:指转储及恢复的时机与范围等要求,4、文档整理及评审 需求分析文档资料:是需求分析阶段的重要资料,以需

10、求分析说明书的形式 整理成册。 需求分析说明书的主要内容: 明确标明DB的功能目标,应用范围和应达到的应用处理功能。 标明不同用户视图范围,确定不同部门或功能的局部视图范围。 应用处理过程需求说明: 数据流程图 任务分类表 数据操作特征表 操作过程说明书:各任务的逻辑执行步骤及编程的有关说明 数据字典 数据分类表 数据元素表 各类的原始资料:单据,报表,文件等资料 数据量的统计 数据约束描述 评审 由有关专家组成的评审小组,对需求说明书进行审查。,第三节 DB 概念设计,一、概念模型 概念设计的任务:是在需求分析阶段产生的需求分析说明书的基础上,按照特定的方法抽象或合成满足需求的用户信息结构,

11、该信息结构通常称为概念模型。 1、概念模型 概念模型是表达概念设计的结果工具。 概念模型是现实世界到计算机世界过度的一种中间层次:,(企业模型) 客观事物,概念模型,DBMS支持的 数据模型,现实世界,信息世界,计算机世界,抽象、合成,转换,概念模型的特点 概念模型是现实世界的抽像和概括,它能真实充分地反映现实世界的事物及事物之间的联系,有丰富的语义表达能力,能表达用户各种需求及对数据对象的处理要求的手段。 概念模型独立于任何软件与硬件,易于理解,方便用户与DB设计人员交流。 概念模型易于变动,有利于修改和扩充。 概念模型易于向关系,层次,网状等各种数据模型转换,即易于从概念模式导出DB的逻辑

12、模式。 常用的概念模型是E-R模型,2、基本E-R模型及扩展 基本E-R模型由:实体(方框),联系(棱形框)和属性(圆或椭圆框)组成。,SNO,AGE,SEX,SNMAE,CNO,CNAME,LOCA,GRADE,STUDENT,COURSE,SC,如:,n,m,扩展的E-R模型:表示一些特殊的语义。 弱实体:一个实体的存在必须以另一个实体的存在为前提,则称赖以存在的 实体为弱实体。(用双框表示),如:,职工,抚养,子女,1,m,“子女”实体以“职工”实体存在为前提。,超类实体(两端双线的矩形框)和子类实体(用弧线和圆圈表示):某个实体 类型中所有实体同时也是另一实体类型中的实体,称前一实体类

13、型是 后一实体类型的子类,后一实体类型为超类。,职工,领导,被领导,领导,在职工类内部,职工之间的领导与被领导联系中,领导与被领导两个实体类中可能有相同的属性,同时继承了职工实体中的全部属性,它是“职工”类的子集。,子类的性质:具有继承性。 子类继承超类上定义的全部属性,本身还可包含其它的属性。子类的关键字也是超类的关键字。,如:,项目,项目参加人,项目负责人,项目,科技人员,科技人员,负责,负责,参加,参加,1,n,n,m,n,1,n,n,m,引入子类,实体联系单一化,3、E-R模型的操作 指对E-R模型中的实体,联系,属性的分解,合并或增删等。 A、实体的分解与合并 实体的分解:垂直分解(

14、可利用基于3NF的分解方法进行) 水平划分 垂直分解:将一个实体垂直分解成两个或多个实体 如:职工实体有属性:职工号,性名,职务,年龄,电话,地址, 但常用:职工号,姓名,职务。 其它项用得少,为了减少存取的数据量,将职工实体分解成两个实体:,职工1,职工2,实体水平划分 若对不同的用户关心不同的元组值,为减少存取元组数,将职工实体水平划分 为两个实体。,在职职工,退休返聘职工,注:分解时,关键字必须在分解后的诸实体中出现,且导致原来的联系要分解。 实体的合并:是分解的逆过程,具有水平和垂直合并两类。注意:垂直合并 导致新关系的产生,水平合并视情况而定。,B、联系的分解与合并,如:,分解,教师

15、,教师,课程,课程,担任,主讲,辅导,n,m,m,n,n,1,合并:合并联系类型必须定义在相同的实体类型组合中,否则为不合法合并:,如:,A,C,B,C,B,A,A-C,B-C,A-B-C,不合法,二、基于E-R模型的概念设计,DB概念设计步骤:,构造局部的E-R模型 合并成全局的E-R模型 优化全局的E-R模型,1、构造局部的E-R模型,步骤:,确定局部结构范围 选择实体 选择关键字 确定实体间的联系 确定实体内部属性, 确定局部结构的范围 确定的基本准则:按行政部门或用户对信息功能相对独立的要求归类构成局部的结构。 考虑的因素: 范围的划分自然,易于管理;界面清晰,相互影响小。 范围的大小

16、要适度,常可包含5-9个原始实体为宜。(范围大:造成内部结构复杂,不便于分析;范围小:使设计繁琐,综合困难大) 选择实体 通常选择实际工作中习惯使用的信息单位为选择实体的基础,因此,数据分类表是选择实体的直接依据。 实体选择中最困难的是如何区分实体与属性:在应用环境中,从不同的应用观点出发,同一个信息单位,有的视为实体,有的视为属性。因时,根据不同的处理,分清主次,灵活处理。,如:买方与卖方可作为合同实体中的属性,亦可单独作为实体。 如果不仅需要买卖方的性名,还需要诸如:地址,电话,法人, 银行帐号等多个信息:则买方,卖方应分别划分为实体。 实体合并:将某些实体的信息内容和主要处理共性较大,可

17、合并 成一个实体。 实体确定后,并命名唯一的实体名 选择实体的关键字 实体的存在依赖于其关键字的存在。 实体关键字的确定除了能唯一标识实体外,还应注意实际应用中的 习惯与方便。,联系的确定 任选类型:表示任何现存实体的存在不依赖于其间联系的存在, 如设备实体与工人实体,存在设备由谁使用的联系,但若不存在 使用的联系则设备与工人实体仍存在。 依附类型:表示处于联系中的实体之一的存在依赖于其间联系的存在。 独占类型:表示处于联系中的一个主实体与别一个实体发生联系时,任何其它实体不能与之发生联系,如:仓库实体与存放物资之间,仓库只能放食品与农药之一不能两者都放。 条件类型:表示处于联系中的实体之一的

18、存在由其间的某种条件满足与否来决定,如:合同与项目之间仅当合同签订后,合同实体才存在。, 联系的类型:, 强制类型:表示处于联系中的两个实体的存在都依赖于其间联系的存在,如:父与子两个实体,其中任何一个实体存在都依赖于其间的父子关系的存在。 建立联系 步骤: 根据应用需求先确定实体间是否存在联系。 分析存在联系的类型。 考察联系类型存在的必要性和重要性,选择必需且重要的联系类型建立联系。 一般: 若实体间存在依附或强制的联系类型,其间往往要建立联系。 若实体间存在条件的联系类型,且实际应用条件存在并满足,则也应建立联系。 若实体间存在独占或任选的联系类型,则根据实际应用的环境灵活处理。如设备与

19、工人实体之间有使用关系,则应建立联系。,方法: 将局部范围的实体逐一取出与该范围内的其他实体试行匹配,考察能否找到与试配的两实体间都有关的问题或同一任务中均使用了两实体值,若是则建立联系,并为联系取唯一的名字。 确定联系是1:1或1:n或n:m。 考虑是否有冗余的联系(由其它联系导出),有则消除。 确定实体的属性 属性分为:标识属性:用作实体的关键字 说明属性:描述实体的一般特征 注:确定实体的属性就是确定说明属性。 确定说明属性的工作:确定属性 把属性分配到有关实体或联系中。, 确定属性的原则: 说明属性应是单值的。即不允许嵌套属性和重复组属性在实体中出现。 说明属性从功能上应从属于标识属性

20、。即属性分配到实体中是否合理,取决于该属性是否通过该实体中的关键字找到,且它们之间在应用中具有某种联系。 不同实体的属性之间应无直接关联关系。,属性分配 当同一个说明属性从属于多个实体标识属性时,一般把属性分配给那些使用频率最高的实体中,或分配到实体值少的实体中。 有些属性不宜归属于任一实体,只说明实体之间联系的特征,应归属于该联系。 如:学习某门课的分数,既不能归为学生实体的属性,也不能归属于课程实体,应作为“选修”联系的属性。,确定实体与属性的调整原则 在构造局部E-R图中,关键是:如何划分实体与属性? 实体与属性之间不存在严格的界限。 划分实体与属性的总体原则: 首先按现实世界中事物的自

21、然划分来定义实体与属性,然后再进行必要的调整。 调整的原则: 实体与描述它的属性间保持1:1或n:1的联系。 如:职工实体的属性:年龄,性别,民族等就符合这一原则。一个职工只能有一个年龄值,一种性别,属于一个民族,可以有许多职工具有同一年龄,同一性别,同属于一个民族。 按自然划分可能出现实体与属性为n:1的联系。,如:职工实体与属性子女之间就属于1:n情况:一个职工可能有多 个子女。,因此,完全按照自然划分就不符合这里的原则, 可进行如下调整:,(子女作实体),描述实体的属性本身不能再有需要的描述的性质。 例如:上例职工实体中属性子女不但违反了原则,而且违反了原则。 又如:下列图书实体中“作者

22、”属性就违反了原则。,将“作者”化为 实体,在实体中选择属性的原则:基本数据项作为属性,导出数据项(或复合项) 一般不作为属性。,如:,其中:总额=单价数量 为导出数据项不能作属性,2、构造全局的E-R图,例:从化工厂的技术部门设计的局部的E-R图如下:,指在同一时刻,只考虑两个局部信息结构的合并,且只产生一个信息结构作为合并的结果。,合并的方法:二元合并法,将局部的E-R图合并成全局的E-R图。,而从供应部门可设计另一局部E-R图如下:,合并:找两个性质相同的实体合并:,在合并过程中,会存在不同用户观点下产生的数据的不一致性和数据冗余(即冲突问题),冲突分为三类:,属性冲突:,属性域冲突:属

23、性值的类型,取值范围或取值集合的 不同,如:零件号的编码方式不同。 属性取值单位冲突:如重量用公斤或用克。, 结构冲突:,同一对象在不同的应用中的不同抽象,如职工在某应用中为实 体,而在别一应用中为属性。,同一实体在不同局部E-R图中属性组成不同,包括:个数,次序。,实体的联系在不同局部E-R图中呈现不同的类型。在某一应用中为1:1,在另一应用中为n:m等。,命名冲突 包括:属性名,实体名,联系名之间的冲突:同名异义,异名同义:解决方法重新命名。,在合并时,消除以上冲突。, 优化全局E-R模型 优化全局E-R模式的方法:实体类型的合并。 消除冗余的属性和联系。,实体类型的合并(减少实体个数及联

24、系个数,提高处理效率) 指相关实体类型的合并。 一般 把1:1联系的两个实体类型合并。 合并具有相同关键字实体类型。,消除冗余的属性 在合并后可能会产生全局范围内的冗余属性。(存在属性可由其它属性导出) 利用分析方法消除冗余属性。 如上例E-R图中:“用量”属性可由“零件数”属性和“耗用量”导出,所以“用量”属性可以去掉,“库存量”属性可由“存放量”及其它数据导出,所以“库存量”属性可以去掉。 消除冗余的联系(可由基本联系导出) 方法:利用规范化理论消除冗余联系。 如:上E-R图中:“使用”联系可由产品与零件,零件与材料的联系导出,因此:“使用”可去掉。,例:在教学管理中有如下几个实体: “教

25、师”实体包括:教师号,姓名,职称,专业属性。 “学生”实体包括:学号,姓名,专业,入学时间属性。 “指导”包括:时间,地点属性。 “课程”实体包括:课程号,课程名,学时。 假定:在某个时间某个地点一位教师可指导多个学生,但某个学生在某一时间和地点只能被一位教师所指导。 一个教师可讲多门课程,一门课程可被多个教师所讲授 。 试画出教师与学生联系的E-R图。 E-R图如下:,第四节 DB逻辑设计,将概念模型转换成为等价的,并为特定的DBMS所支持的逻辑模型。,即:,一、DB逻辑设计的步骤 1、将概念模型转型转换成等价的DB逻辑模型 2、关系模式规范化 对关系模型来说,将转换成的关系模式进行初步优化

26、,步骤: 利用规范化理论,考察关系模式的函数依赖关系,确定范式等级(一般3NF可以)。 对关系模式进行合并和分解。,3、模式优化 为了提高对数据的存取效率,对产生的关系模式进行优化,即修改、调整和重构模式。 二、E-R模型向关系模型的转换 转换规则: 1、实体型转换方法 一个实体型转换成一个关系模式。实体的名,属性名及关键字均可作为关系模式名,属性名和关键字。(亦可重新取名),2、联系转换的方法: 对E-R图中每个K(K2)元联系集产生一个对应的关系模式。该关系模式的关键字为与之相联系的实体型的关键字的组合组成,如果联系带有属性,则作为该关系模式的属性。,对于“多对多”二元联系,则产生一个对应

27、的新关系模式。该关系模式的关键字是与之相联系的实体关键字组合而成,如果该联系带有属性,则作为新关系模式的属性。,三元联系EE转换一个对应的新关系模式: EE(K1,K2,K3),则“多对多”的二元联系EE产生一个对应的新关系模式: EE(K1,k2)(K1和K2是EE的复合关键字),对“1对多”二元联系,则不产生对应的新关系模式,只要将为1的一方的实体的主关键字放入为“多”的一方的关系模式中即可,如果该联系带有属性则将该属性也放入为“多”的一方的关系模式中。,如:,二元联系EE不产生新关系模式,其转换方式: E1(K1,) E2(K2,K1,)(E2的主关键字为K2;K1为外来关键字, 它起到

28、联系的作用),对“1对1”二元联系,其转换可能有以下三种方案:,方案:E1(K1,) E2(K2,) EE(K1,K2,S)(K2为侯选关键字) 方案:E1(K1,) E2(K2,K1,S)(K1为侯选关键字) 方案:E1(K1,K2,S)(K2为侯选关键字) E2(K2,),三、DB 的E-R 图和逻辑设计例子 如:图书借阅管理系统中: 图书:书号,书名,数量,存放位置。 借书人:借书证号,姓名,单位,借书日期和还书日期。 出版社:出版社名,电话,地址。 联系如下: 任何人可借多种书,任何一种书可为多个人所借。 一个出版社可出版多种书籍,同一本书仅为一个出版社出版。 试作如下设计: 构造满足

29、需求的E-R图。 转换为等价的关系模型结构。,解: (1),数量,转换后的关系模型 借书人(借书证号,姓名,单位) 图书(书号,书名,数量,存放位置,出版社名) 出版社(出版社名,电话,地址) 借阅(借书证号,书号,借书日期,还书日期 ),第五节 DB物理设计,对于一个给定的DB逻辑结构选取一个最适合应用环境的物理结构的过程,称为DB物理设计。,一、物理设计的主要任务及步骤 1、主要任务 确定DB在物理存储设备上的存储结构及存取方法。 建立索引及聚集。 选择物理块的大小,缓冲区的个数和大小,数据压缩等。 2、物理设计步骤: 存储记录结构的设计:记录的组成,数据项的类型和长度,逻辑记录到物理记录

30、的映射。,确定数据存储安排:利用聚集技术处理数据在不同的存储区中。 访问方法的设计。 完整性和安全性的考虑。 程序设计。 3、物理设计说明书 存储记录格式。 内容: 存储记录位置分布及访问方法。 对硬件,软件系统的约束。,4、物理设计的性能指标: 查询响应时间 更新事务的开销,报表生成的开销 重组步骤的开销 主存空间 辅存空间 二、关系DB的物理设计 关系DB的物理设计的特点之一,不需要存储结构和存取方法的设计,因而其物理设计比较简单。 关系DB的物理设计的主要任务:对关系建立索引和聚集来实现和改善存取效率。 1、建立索引 目的:加快查找速度,提高查找效率,但浪费存储空间。,对象:对使用频率较高的属性建立索引。 方式:静态:指应用人员预先建立的索引,适用于多个用户,且周期较长。 动态:在程序内临时建立的索引,适用于单个用户特殊应用,且使

温馨提示

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

评论

0/150

提交评论