SQL-Server-2005数据库原理及应用教程第3章-数据库设计_第1页
SQL-Server-2005数据库原理及应用教程第3章-数据库设计_第2页
SQL-Server-2005数据库原理及应用教程第3章-数据库设计_第3页
SQL-Server-2005数据库原理及应用教程第3章-数据库设计_第4页
SQL-Server-2005数据库原理及应用教程第3章-数据库设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

第3章数据库设计

3.1数据库设计概述数据库是信息系统的核心和基础,只有对数据库进行合理的逻辑设计和有效的物理设计才能开发出完善而高效的信息系统,因此,数据库设计是信息系统开发和建设的重要组成部分。3.1.1数据库设计内容及特点数据库设计包括两个方面:数据库的结构设计和数据库的行为设计。结构设计是整个数据库设计的基础和关键,行为设计起着辅助作用。现代数据库设计十分强调数据库的结构设计与行为设计的统一,只有两者相互参照,同步进行,才能较好地达到设计目标。1.数据库的结构设计数据库的结构设计是指根据给定的应用环境,进行数据库的模式或子模式的设计。它包括数据库的概念设计、逻辑设计和物理设计。2.数据库的行为设计数据库的行为设计是指确定数据库用户的行为和动作,并根据其行为特性设计出数据库的子模式。3.数据库设计时考虑的相关内容数据库系统的硬件条件数据库管理系统和主语言系统的特点数据库用户的技术水平和管理水平3.1.2数据库设计的方法直观设计法规范设计法基于E-R模型的数据库设计方法基于3NF(第三范式)的数据库设计方法基于视图的数据库设计方法计算机辅助设计法自动化设计法3.1.3数据库设计的基本步骤数据库的设计过程实质是软件设计的过程,因此数据库设计一般都遵循软件的生命周期理论。软件的生命周期是指从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间,具体可以划分为六个阶段:规划阶段、需求分析阶段、设计阶段、程序编制阶段、调试阶段、运行和维护阶段。按照这种理论来考虑数据库及其应用系统开发全过程,将数据库设计分为需求分析、概念结构设计、逻辑结构设计、物理设计、数据库实施和数据库的运行与维护六个阶段,3.2需求分析需求分析就是分析用户对数据库的具体要求,是整个数据库设计过程的起点和基础。需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后期各个阶段的设计,并影响到设计结果是否合理和实用。3.2.1需求分析的任务需求分析的任务是通过详细调查现实世界要处理的对象(如组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,收集支持新系统的基础数据并对其进行处理,然后在此基础上确定新系统的功能和边界。1.调查分析用户活动2.收集和分析需求数据,确定系统边界3.系统需求调查的方法4.编写需求分析说明书3.2.2需求分析的方法在调查了用户的需求之后,还需要进一步分析和表达用户的需求,使之转换为后续各设计阶段可用的形式。目前分析和表达用户需求的方法很多,主要方法有两种:自顶向下和自底向上两种,1.数据流图数据流图是软件工程中专门描绘信息在系统中流动和处理过程的图形化工具,能够精确地在逻辑上描述系统的功能、输入输出和数据存储,是设计人员与用户之间一种较好的的交流工具。在数据流图中,用命名的箭头表示数据流,用圆圈表示处理,用矩形或其他形状表示存储。2.数据字典数据字典是用来对系统中各类数据进行详尽的描述,是进行详细的数据收集和数据分析所获得的主要成果,它与数据流图互为注释,在数据库设计过程中占有重要的地位。数据字典的内容不是一成不变的,它贯穿于数据库需求分析直到数据库运行的全过程,在随后数据库设计的过程中会不断地被修改、充实和完善,发挥不同的作用。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。1)数据项数据项是不可再分的数据单位,它的描述如下。数据项={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}.2)数据结构数据结构反映了数据之间的组合关系。它可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。它的描述如下。数据结构={数据结构名,含义说明,组成{数据项或数据结构}}。3)数据流表示某次数据处理过程中数据在系统内传输的路径,可以是数据项,也可以是数据结构。它的描述如下。数据流={数据流名,说明,数据流来源,数据流去向,组成{数据结构},平均流量,高峰期流量}。4)数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。它的描述如下。数据存储={数据存储名,说明,编号,输入数据流,输出数据流,组成{数据结构},数据量,存取方式,存取频度}。5)处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典只需要描述处理过程的说明性信息,通常包括以下内容。处理过程={处理过程名称,说明,输入数据{数据流},输出数据{数据流},处理{简单说明}}。3.3概念结构设计概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。3.3.1概念结构的设计方法1.概念结构的特点概念结构能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是反映现实世界的一个真实模型。由于概念结构简洁、明晰,独立于机器,很容易理解,因此设计者可以使用概念模型和不熟悉计算机的用户交换意见,使用户能积极参与数据库的设计工作。概念结构要易于变更。当应用环境和应用要求发生变化时,容易对概念模型进行修改和扩充。概念模型应易于向数据模型转换。概念模型最终要转换为数据模型,设计概念模型时应当注意,使其有利于向关系、网状、层次等数据模型转换。2.概念结构设计的方法自顶向下的设计方法自底向上的设计方法逐步扩张的设计方法混合策略3.3.2数据抽象与局部视图设计1.数据抽象数据抽象是概念结构设计的基础,通过抽象可以得出概念模型的实体集及属性。在概念结构设计中涉及的数据抽象主要有三种:分类、聚集和概括。2.局部视图的设计第一步,明确局部应用的范围。第二步,逐一设计局部E-R图。3.3.3视图的集成

视图的集成就是在各个局部E-R图设计完成后,对它们进行合并,集成为一个整体的数据概念结构,形成全局E-R图。视图的集成有两种方法:一种是多元集成法,即一次性将多个E-R图合并为一个全局E-R图;另一种是逐步集成法,首先集成两个重要的局部视图,以后每次将一个新的局部视图集成进来。1.合并局部视图,生成初步E-R图合理消除各局部E-R图的冲突是合并局部E-R图的主要工作与关键所在。冲突主要分为三类,分别是属性冲突、命名冲突和结构冲突。2.消除冗余,得到基本E-R图局部E-R模型合并后,在得到的初步E-R图中可能存在冗余的数据和实体间冗余的联系。所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库的维护增加困难,应当予以消除。消除冗余的方法主要有两种:关系数据设计理论(规范化)方法和分析方法。3.4逻辑结构设计逻辑结构设计的任务就是将概念模型结构转换成某个具体的数据库管理系统所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据库逻辑结构进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户视图。3.4.1概念模型向关系模型的转换关系模型的逻辑结构是一组关系模式的集合,而E-R图则是由实体、实体的属性及实体之间的联系组成的。因此将E-R图转换为关系模型实际上就是要将实体、实体的属性及实体之间的联系转化为关系模式。1.实体集的转换规则概念模型中的每一个实体集转换为关系模型中的一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。2.实体集间联系的转换规则1)1∶1联系的转换(1)转换为一个独立的关系模式。联系名为关系模式名,与该联系相连的两个实体的关键字及联系本身的属性为关系模式的属性,其中每个实体的码均是该关系模式的候选码。(2)将1∶1联系与某一端实体对应的关系模式进行合并。这时需要将另一个关系模式的码及联系本身的属性加入到该关系模式中。2)1∶n联系的转换(1)转换为一个独立的关系模式。联系名为关系模式名,与该联系相连的两个实体的关键字及联系本身的属性为关系模式的属性,其中n端实体的码是该关系模式的码。(2)将1∶n联系与n端实体对应的关系模式进行合并。这时需要将1端关系模式的码及联系本身的属性加入到n端关系模式中,n端关系模式的码不变。3)m∶n联系的转换一个m∶n联系转换为一个关系。联系名为关系模式名,与该联系相连的两个实体的码及联系本身的属性为关系模式的属性,两个实体码的并集是该关系模式的码。4)三个或三个以上实体集间联系的转换对于三个或三个以上实体集间的联系可以转换为一个关系模式,与该多元联系相连的各实体的码及联系本身的属性为该关系模式的属性,各个实体码的并集是该关系模式的码。5)同一实体集内部联系的转换前面已经介绍过,联系也可以发生在同一实体集内部。在进行转换时,可以将该实体集分为相互联系的两个子集,然后根据它们相互间不同的联系方式(1∶1,1∶n,m∶n)按上面介绍的不同实体集之间联系转换的规则进行处理。3.4.2数据模型的优化数据库逻辑设计的结果并不是唯一的,为了进一步提高数据库应用系统的性能,还应该根据应用适当地修改、调整数据模型的结构,这就是数据模型的优化。关系数据库模型的优化通常以规范化理论为指导。具体的优化过程介绍如下。1.确定范式级别2.实施规范化处理3.关系模式的分解对关系模式进行必要的分解,可以提高数据操作的效率和存储空间的利用率。常用的方法是垂直分解和水平分解。3.4.3用户子模式的设计在将概念模型转换为全局数据模型后,还应该根据局部应用的需要,结合具体数据库管理系统的特点,设计出用户子模式。用户子模式也称为外模式。关系数据管理系统中提供的视图是根据外模式设计的,在设计外模式时只需要考虑用户对数据的使用要求、习惯及安全性要求,而不需要考虑系统的时间效率、空间效率、易维护等问题。外模式设计时要注意考虑用户的习惯与方便,应注意以下几个方面。1.使用符合用户习惯的别名2.对不同级别的用户定义不同的外模式3.简化用户对系统的使用3.5数据库的物理设计数据库最终是要存储在物理设备上的,数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构的过程,称为数据库的物理设计。数据库物理设计的工作可以分为两个主要环节。第一个环节是确定数据库的物理结构,在关系数据库中主要指确定存储结构和存取方法。第二个环节是对物理结构进行评价,评价的重点是时间和空间效率。3.5.1确定数据库的物理结构确定数据库的物理结构主要是指确定数据的存储位置和存储结构,包括确定关系、索引、聚簇、日志和备份等的存储安排及存储结构;确定系统存储参数配置等。1.确定数据的存储结构2.确定数据的存储位置3.确定关系模式的存取方法索引方法聚簇方法HASH存取方法4.确定系统存储参数的配置3.5.2评价物理结构与前面几个设计阶段相同,在确定了数据库的物理结构之后,要进行评价,重点是对时间效率、空间效率、维护代价和各种用户要求进行权衡,结果可能会产生多种设计方案。数据库设计人员必须对这些方案进行详细地评价,从中选择一个较优的方案作为数据库的物理结构。评价物理数据库的方法完全依赖于所选用的数据库管理系统,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的、合理的物理结构。如果该结构不符合用户的需求,则需要修改设计。如果评价结果满足设计要求,则可进行数据库实施。实际上,往往需要经过反复测试才能优化物理设计。3.6数据库实施完成数据库的物理设计之后,设计人员就要用数据库管理系统提供的数据定义语言(DDL)和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为数据库管理系统能够接受的源代码,再经过调试产生目标模式并组织数据入库,这就是数据库实施阶段。1.建立数据库

温馨提示

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

评论

0/150

提交评论