第5章 数据库设计_第1页
第5章 数据库设计_第2页
第5章 数据库设计_第3页
第5章 数据库设计_第4页
第5章 数据库设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

第5章数据库设计主要内容:

DB设计及过程;●

需求分析;●概念设计;●逻辑设计;●物理设计;●实现与维护。重点:

●DB概念设计;

●关系DB逻辑设计。一、什么是DB设计?DB设计:从用户对数据的需求出发,研究并构造数据库结构的过程。DB设计的应用:计算机信息管理系统。DB设计的主要目标:

⑴满足应用功能需求

·将用户当前和可预知的将来应用的数据及其联系全部准确地存入DB中。

·满足用户对数据进行的存、取、查询、删、改等操作要求。

⑵具有良好的DB性能指对数据的高效率存取和空间的节省,并且具有良好数据共享性、完整性、一致性及安全保密性。5.1数据库设计的步骤二、DB设计的步骤1、DBS生存期数据库系统生存期:把数据库应用系统从开始规划、分析、设计、实现,投入运行后的维护到最后为新的系统取代而停止使用的整个期间称为DBS的生存期。规划阶段需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段实现阶段运行与维护阶段DBS生存期的7个阶段:2、DB设计步骤DB设计隶属于DBS生存期中。需求分析物理设计逻辑设计概念设计DB设计过程包括:用户要求DBMS性能要求硬件和OS特征⑴需求分析目标:调查与分析用户的信息要求及应用处理要求和安全性和完整性的要求;将结果按一定的格式写成需求说明书。交下一阶段设计使用。⑵概念设计目标:对需求说明书提供的所有信息,应用处理要求,安全性和完整性的要求进行抽像与综合处理,按一定的方法构造相应的概念模型。(如ER模型:独立于DBMS)⑶逻辑设计目标:将概念模型转换成等价的并为某个特定的DBMS所接受的DB逻辑结构。⑷物理设计目标:将逻辑DB结构转换成特定的计算机系统所接受的物理DB结构。关系:前一阶段的结果作为后一阶段工作的依据;若前一阶段出现错误,相应地要修改后阶段的有关内容。

一、需求分析的步骤步骤:①确定数据库的范围

②数据应用过程的分析

③数据收集与分析

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

主要内容:数据收集与分析的内容:静态数据结构动态数据结构数据约束⑴静态数据结构内容:整理和登记每个数据的静态特征:数据名,用途,主人,用户,来源,去向,存档时间,数据量,意义,类型,长度等。⑵动态数据结构指施加于数据之上的操作以后的数据状况。内容:整理和登记每个数据的数据操作特征:操作类型:建立,查询,输入,制表,统计,修改,删除等。执行时间和操作频率:单位时间执行的次数及数据量等。

⑶数据约束数据的安全保密;数据的完整性;数据的响应时间;数据恢复:指转储及恢复的时机与范围等要求。

4、文档整理及评审需求分析文档资料:是需求分析阶段的重要资料,以需求分析说明书的形式整理成册。需求分析说明书的主要内容:

⑴明确标明DB的功能目标,应用范围和应达到的应用处理功能。

⑵标明不同用户视图范围,确定不同部门或功能的局部视图范围。

⑶应用处理过程需求说明:

⑷数据流程图和数据字典各类的原始资料:单据,报表,文件等资料

⑸数据量的统计

⑹数据约束描述评审由有关专家组成的评审小组,对《需求说明书》进行审查。5.3概念结构设计一、概念模型概念设计的任务:是在需求分析阶段产生的需求分析说明书的基础上,按照特定的方法抽象或合成满足需求的用户信息结构,该信息结构通常称为概念模型。1、概念模型概念模型是表达概念设计的结果工具。

①概念模型是现实世界到计算机世界过度的一种中间层次:(企业模型)客观事物概念模型DBMS支持的数据模型现实世界信息世界计算机世界抽象、合成转换②概念模型的特点

概念模型是现实世界的抽像和概括,它能真实充分地反映现实世界的事物及事物之间的联系,有丰富的语义表达能力,能表达用户各种需求及对数据对象的处理要求。概念模型独立于任何软件与硬件,易于理解,方便用户与DB设计人员交流。概念模型易于变动,有利于修改和扩充。概念模型易于向关系,层次,网状等各种数据模型转换,即易于从概念模型导出DB的逻辑模型。③常用的概念模型是E-R模型2、基本E-R模型基本E-R模型由:实体(方框),联系(棱形框)和属性(圆或椭圆框)组成。如:SNOAGESEXSNMAECNOCNAMELOCAGRADESTUDENTCOURSESCnm3.联系的分解与合并如:分解教师教师课程课程担任主讲辅导nmmnn1合并:合并联系类型必须定义在相同的实体类型组合中,否则为不合法合并:如:ACBCBAA-CB-CA-B-C不合法二、基于E-R模型的概念设计DB概念设计步骤:构造局部的E-R模型合并成全局的E-R模型优化全局的E-R模型

1、构造局部的E-R模型步骤:确定局部结构范围选择实体选择关键字确定实体间的联系确定实体内部属性

⑴确定局部结构的范围确定的基本准则:按行政部门或用户对信息功能相对独立的要求归类构成局部的结构。考虑的因素:范围的划分自然,易于管理;界面清晰,相互影响小。范围的大小要适度,常可包含5-9个原始实体为宜。(范围大:造成内部结构复杂,不便于分析;范围小:使设计繁琐,综合困难大)⑵选择实体通常选择实际工作中习惯使用的信息单位为选择实体的基础。⑶选择实体的关键字实体的存在依赖于其关键字的存在。实体关键字的确定除了能唯一标识实体外,还应注意实际应用中的习惯与方便。⑷联系的确定

方法:将局部范围的实体逐一取出与该范围内的其他实体试行匹配,考察能否找到与试配的两实体间都有关的问题或同一任务中均使用了两个实体值,若是则建立联系,并为联系取唯一的名字。确定联系是1:1或1:n或n:m。考虑是否有冗余的联系(由其它联系导出),有则消除。⑸确定实体的属性属性分为:标识属性:用作实体的关键字 说明属性:描述实体的一般特征注:确定实体的属性就是确定说明属性。确定说明属性的工作:①确定属性 ②把属性分配到有关实体或联系中。确定属性的原则:说明属性应是单值的。即不允许嵌套属性和重复组属性在实体中出现。说明属性从功能上应从属于标识属性。即属性分配到实体中是否合理,取决于该属性是否通过该实体中的关键字找到,且它们之间在应用中具有某种联系。不同实体的属性之间应无直接关联关系。⑹确定实体与属性的调整原则在构造局部E-R图中,关键是:如何划分实体与属性?实体与属性之间不存在严格的界限。划分实体与属性的总体原则:首先按现实世界中事物的自然划分来定义实体与属性,然后再进行必要的调整。调整的原则:①实体与描述它的属性间保持1:1或n:1的联系。如:职工实体的属性:年龄,性别,民族等就符合这一原则。一个职工只能有一个年龄值,一种性别,属于一个民族;可以有许多职工具有同一年龄,同一性别,同属于一个民族。按自然划分可能出现实体与属性为1:n的联系。如:职工实体与属性子女之间就属于1:n情况:一个职工可能有多个子女。姓名年龄民族性别子女姓名性别年龄因此,完全按照自然划分就不符合这里的原则①,可进行如下调整:(子女作实体)职工子女姓名年龄民族性别姓名性别年龄亲属1n②描述实体的属性本身不能再有需要描述的性质。例如:上例职工实体中属性子女不但违反了原则①,而且违反了原则②。又如:下列图书实体中“作者”属性就违反了原则②。书号书名类别作者姓名单位图书作者著作书号书名类别姓名单位1n将“作者”化为实体③基本数据项作为属性,导出数据项(或复合项)一般不作为属性。如:商品商品号商品名单价数量总额其中:总额=单价数量为导出数据项不能作属性商品商品号商品名单价数量2、构造全局的E-R图例:从化工厂的技术部门设计的局部的E-R图如下:指在同一时刻,只考虑两个局部信息结构的合并,且只产生一个信息结构作为合并的结果。⑴合并的方法:二元合并法将局部的E-R图合并成全局的E-R图。而从供应部门可设计另一局部E-R图如下:合并:找两个性质相同的实体合并:产品组成零件产品号性能参数零件数材料名耗用量零件号mn产品号产品使用仓库材料存放电话地址仓库名存放量库存量材料价格材料名用量产品价格mnmn材料价格产品材料仓库零件构成存放使用组成性能参数产品价格产品号零件数用量耗用量零件号库存量材料名存放量电话地址库存名mmnnmnnm在合并过程中,会存在不同用户观点下产生的数据的不一致性和数据冗余,即冲突问题。

冲突分为三类:

材料名①属性冲突:

属性域冲突:属性值的类型,取值范围或取值集合的不同,如:零件号的编码方式不同。

属性取值单位冲突:如重量用公斤或用顿。②结构冲突:同一对象在不同的应用中的不同抽象。如职工在某应用中为实体,而在别一应用中为属性。同一实体在不同局部E-R图中属性组成不同,包括:个数,次序。实体的联系在不同局部E-R图中呈现不同的类型。在某一应用中为1:1,在另一应用中为n:m等。③命名冲突包括:属性名,实体名,联系名之间的冲突:同名异义,异名同义:解决方法重新命名。在合并时,消除以上冲突。⑵优化全局E-R模型优化全局E-R模型的方法:实体类型的合并。消除冗余的属性和联系。①实体类型的合并(减少实体个数及联系个数,提高处理效率)相关实体类型的合并。一般把1:1联系的两个实体类型合并。合并具有相同关键字实体类型。②消除冗余的属性在合并后可能会产生全局范围内的冗余属性。(存在属性可由其它属性导出)利用分析方法消除冗余属性。如上例E-R图中:“用量”属性可由“零件数”属性和“耗用量”导出,所以“用量”属性可以去掉,“库存量”属性可由“存放量”及其它数据导出,所以“库存量”属性可以去掉。③消除冗余的联系(可由基本联系导出)方法:利用规范化理论消除冗余联系。如:上E-R图中:“使用”联系可由产品与零件,零件与材料的联系导出,因此:“使用”可去掉。材料价格产品材料仓库零件构成存放组成性能参数产品价格产品号零件数耗用量零件号材料名存放量电话地址库存名mnmnnm上例优化后全局E-R模型:材料名例:在教学管理中有如下几个实体:

“教师”实体包括:教师号,姓名,职称,专业属性。

“学生”实体包括:学号,姓名,专业,入学时间属性。

“课程”实体包括:课程号,课程名,学时。假定:在某个时间某个地点一位教师可指导多个学生,但某个学生在某一时间和地点只能被一位教师所指导。一个教师可讲多门课程,一门课程可被多个教师所讲授。试画出教师与学生联系的E-R图。E-R图如下:教师号教师指导学生姓名职称专业姓名专业入学时间1m时间学号地点课程讲授mn课程号课程名学时

5.4逻辑结构设计将概念模型转换成为等价的,并为特定的DBMS所支持的逻辑模型。即:现实世界所需管理的数据概念模型关系模型网状模型层次模型一、DB逻辑设计的步骤1、将概念模型转换成等价的DB逻辑模型2、关系模式规范化对关系模型来说,将转换成的关系模式进行初步优化,步骤:利用规范化理论,考察关系模式的函数依赖关系,确定范式等级(一般3NF可以)。对关系模式进行合并和分解。3、模式优化为了提高对数据的存取效率,对产生的关系模式进行优化,即修改、调整和重构模式。二、E-R模型向关系模型的转换转换规则:1、实体型转换方法一个实体型转换成一个关系模式。实体的名,属性名及关键字均可作为关系模式名,属性名和关键字。(亦可重新取名)2、联系转换的方法:⑴对E-R图中每个K(K>2)元联系集产生一个对应的关系模式。该关系模式的关键字为与之相联系的实体型的关键字的组合组成,如果联系带有属性,则作为该关系模式的属性。三元联系EE转换一个对应的新关系模式:EE(K1,K2,K3)E1E2E3EEK1K3K2如:K1,k2,k3分别是E1,E2,E3的主关键字零件零件号单价零件名产品产品号型号产品名mpn供应数量供应商供应商号供应商名地址供应商(供应商号,供应商名,地址);零件(零件号,零件名,单价);产品(产品号,产品名,型号);供应(供应商号,零件号,产品号,数量)。其中,供应关系中的供应商号,零件号,产品号分别是该关系的三个外关键字组成的主关键字。例:三元联系转换⑵对于“多对多”二元联系,则产生一个对应的新关系模式。该关系模式的关键字是与之相联系的实体关键字组合而成,如果该联系带有属性,则作为新关系模式的属性。如:E1EEE2K1K2nm则:“多对多”的二元联系EE产生一个对应的新关系模式:EE(K1,k2)

(K1和K2是EE的复合关键字)例:多对多二元联系的E-R图转换为一个新关系模式

nm学生选修课程学号姓名性别课程号学时数课程名成绩

学生(学号,姓名,性别);课程(课程号,课程名,学时数);

选修(学号,课程号,成绩)。其中,学号和课程号分别为该关系“选修”的两个外关键字。

⑶对“1对多”二元联系,则不产生对应的新关系模式,只要将为1的一方的实体的主关键字放入为“多”的一方的关系模式中即可,如果该联系带有属性则将该属性也放入为“多”的一方的关系模式中。如:二元联系EE不产生新关系模式,其转换方式:E1(K1,……)E2(K2,K1,……)(E2的主关键字为K2;K1为外来关键字,它起到联系的作用)E1EEE2K1K21n例:“一对多”二元联系的E-R图转换的关系模式n1仓库存储产品仓库号地点面积产品号价格产品名数量仓库(仓库号,地点,面积);产品(产品号,产品名,价格,仓库号,数量)。仓库号是外关键字⑷对于“1对1”二元联系,其转换可能有以下三种方案:

不产生新关系模式的方案:②方案:E1(K1,……)E2(K2,……,K1,S)(K1为外关键字)③方案:E1(K1,……,K2,S)(K2为外关键字)

E2(K2,……)常采用的方法:将任意一方的主关键字放到对方转换的关系模式中,作外关键字。E1EEE2K1K211s①方案:产生新关系模式E1(K1,……)E2(K2,……)EE(K1,K2,S)(k1和K2组合为EE主关键字)11职工负责产品职工号姓名年龄产品号价格产品名方法1:将1:1联系“负责”形成独立的关系,转换后的关系模型为:职工(职工号,姓名,年龄);产品(产品号,产品名,价格);负责(职工号,产品号)。不产生关系模式的方案:方法2:将“产品”主键产品号放到“职工”关系中,就取得了“负责”联系。转换后的关系模型为:职工(职工号,姓名,年龄,产品号);产品(产品号,产品名,价格)。方法3:将“职工”主键职工号放到“产品”关系中,也可以取得“负责”的联系。,转换后的关系模型为:职工(职工号,姓名,年龄);产品(产品号,产品名,价格,职工号)。上面的三种方法中不难发现,方法1中的关系多,增加了系统的复杂性;方法2中由于并不是每个职工都负责产品,这样会造成产品号属性空值较多;综合比较方法3较合理。三、DB的E-R图和逻辑设计例子如:图书借阅管理系统中:图书:书号,书名,数量,存放位置。借书人:借书证号,姓名,单位,借书日期和还书日期。出版社:出版社名,电话,地址。联系如下:任何人可借多种书,任何一种书可为多个人所借。一个出版社可出版多种书籍,同一本书仅为一个出版社出版。试作如下设计:⑴构造满足需求的E-R图。⑵转换为等价的关系模型结构。解:(1)数量⑵转换后的关系模型借书人(借书证号,姓名,单位)图书(书号,书名,数量,存放位置,出版社名)出版社(出版社名,电话,地址)

借阅(借书证号,书号,借书日期,还书日期)借书证号借书人出版社图书借阅出版姓名单位出版社名借书日期还书日期地址电话书号位置书名mnm1

5.5物理结构设计对于一个给定的DB逻辑结构选取一个最适合应用环境的物理结构的过程,称为DB物理设计。一、物理设计的主要任务及步骤1、主要任务确定DB在物理存储设备上的存储结构及访问方法。确定DB的存储结构:选择物理块的大小,缓冲区的个数和大小,数据压缩等。确定数据的访问方法。2、物理设计步骤:⑴存储记录结构的设计:记录的组成,数据项的类型和长度,逻辑记录到物理记录的映射。⑵确定数据存储安排:利用聚集技术处理数据在不同的存储区中。⑶访问方法的设计。⑷完整性和安全性的考虑。⑸程序设计。3、物理设计说明书

存储记录格式。内容:存储记录位置分布及访问方法。

对硬件,软件系统的约束。4、物理设计的性能指标:⑴查询响应时间⑵更新事务的开销⑶报表生成的开销⑷重组步骤的开销⑸主存空间⑹辅存空间二、关系DB的物理设计关系DB的物理设计的特点之一,不需要存储结构和访问方法的设计,因而其物理设计比较简单。关系DB的物理设计的主要任务:对关系建立索引和聚集来实现和改善存取效率。1、建立索引目的:加快查找速度,提高查找效率,但浪费存储空间。对象:对使用频率较高的属性建立索引。方式:静态:指应用人员预先建立的索引,适用于多个用户,且周期较长。

温馨提示

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

评论

0/150

提交评论