赞
踩
这里讲的数据库设计是指狭义上。
数据库设计的定义:
数据库里设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种应用需求,包括信息管理要求和数据库操作要求。
大型数据库设计是涉及多学科的综合性技术,又是一项庞大的工程项目。他要求从事数据库设计的专业人员具备多方面的是指和技术,主要包括:
早期的设计方法:手工与经验相结合的方法。
现在的设计方法:新奥尔良方法(New Orleans)、基于E-R
模型的设计方法、3NF
(第三范式)设计方法、面向对象数据库设计方法、统一建模语言(UML)方法。
在数据库设计过程中,需求分析和概念结构设计可以独立于任何数据库管理系统进行,逻辑结构设计和物理结构设计与选用的数据库管理系统密切相关。
是否做得充分与准确,决定了构建数据库的速度和质量
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型
将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化
为逻辑数据结构选取一个最适合应用环境的物理结构,包括存储结构和存取方法
根据逻辑设计和物理设计的结果构建数据库
编写与调试应用程序
组织数据入库并进行试运行
经过试运行后即可投入正式运行,在运行过程中必须不断对其进行评估、调整与修改
以下图是设计过程各个阶段关于数据特性的设计描述:
以下图为数据库设计不同阶段形成的数据库各级模式。
需求分析就是简单的分析用户的要求。是设计数据库的起点
需求分析的任务就是通过详细调查现实世界要处理的对象,充分了解原系统(手工系统或计算机系统)的工作状况,明确用户的各种需求,然后在此基础上确定新系统的功能。注意新系统必须充分考虑今后的扩展和改变。
进行需求分析首先要调查清楚用户的实际需求,与用户达成共识,然后分析与表达这些要求。
调查用户需求步骤:
(1)调查组织机构情况
(2)调查各部门的业务活动情况
(3)协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求
(4)确定新系统的边界
常用调查方法:
(1)跟班作业
通过亲身参加业务工作了解业务活动的情况
(2)开调查会
通过与用户座谈来了解业务活动情况及用户需求
(3)请专人介绍
(4)询问
对某些调查中的问题,可以找专人询问
(5)设计调查表请用户填写
调查表设计合理,则很有效
(6)查阅记录
查阅与原系统有关的数据记录
分析方法:
结构化分析方法(Structured Analysis,简称SA方法),SA方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统
对用户需求进行分析与表达后,需求分析报告必须提交给用户,征得用户的认可
需求分析过程:
数据字典是进行详细的数据收集和数据分析所获得的的主要成果。它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程几部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
数据项是不可再分的数据单位。对数据项的描述通常包括以下内容。
数据项描述={数据项名,数据项含义说明,别名,
数据类型,长度,取值范围,取值含义,
与其他数据项的逻辑关系,
数据项之间的联系}
数据项简单的理解就是表中某一字段。
数据结构反映了数据之间的组合关系。 一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
数据流是数据结构在系统内传输的路径。
数据流描述={数据流名,说明,数据流来源,
数据流去向,组成:{数据结构},
平均流量,高峰期流量}
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
数据存储描述={数据存储名,说明,编号,输
入的数据流 ,输出的数据流,
组成:{数据结构},数据量,
存取频度,存取方式}
处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息
处理过程描述={处理过程名,说明,输入:{数据流},
输出:{数据流},处理:{简要说明}}
简要说明:说明该处理过程的功能及处理要求
将需求分析得到的用户需求抽象为信息结构(概念模型)的过程就是概念结构设计。
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,然后才能更好、更准确地用某一数据库管理系统实现这些需求。
概念模型的主要特点:
E-R模型是描述概念模型的有力工具
实体间的联系有两个实体之间的联系(二元联系)、两个以上实体间的联系(n元联系)、单个实体间的联系(父子)
E-R图提供了表示实体型、属性和联系的方法。
概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织,确定实体、实体类的属性、实体之间的联系类型。
为了简化E-R图的处置,现实世界的事务能作为属性对待的尽量作为属性对待。
符合什么条件的事务可以作为属性对待呢?两条规则:
作为属性,不能再具有需要描述的性质
,即属性必须是不可分的属性项(1NF),不能包含其他属性属性不能与其他实体具有联系
,即E-R图中表示的是实体间的联系,而非属性与其它实体或属性的联系。在开发一个大型信息系统时,最经常采用的策略是自顶向下需求分析,然后再自底向上设计概念结构。即首先设计各子系统的分E-R图(可能由不同的团队设计),然后将它们集成起来得到全局E-R图。集成一般分两步走:1.合并解决冲突。2.修改和重构
1.合并解决冲突
各子系统的E-R图之间的E-R图之间冲突主要有三类:属性冲突、命名冲突、结构冲突。
①属性冲突
逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。
E-R图向关系模型转换要解决的问题就是,如何将实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。转换的一般原则是:一个实体转换为一个关系模式
数据库逻辑设计的结果并不是唯一的。为了进一步提高数据库应用系统的性能,还应该根据应用适当的修改、调整数据模型的结构。关系模型的优化通常以规范化理论作为指导,例如第三范式等。但是要注意的是并不是规范化越高的关系越优。
将概念模型转换为全局逻辑模型后,还应该根据局部应用要求,结合具体关系数据库管理系统的特点设计用户的外模式,例如SQL关系型数据库中可以利用视图设计更符合局部用户需要的外模式。
定义外模式时可以注重考虑用户的习惯于方便,具体包括以几个方面
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。
主要分为以下两步:
不同数据库产品所提供的物理环境、存取方法和存取结构很大差别,因此没有通用的设计方法可遵循,只能给出一般的设计内容和原则。
通常关系型数据库物理设计的主要内容包括:关系模式选择存取方法,以及设计关系、索引等数据库文件的物理存储结构。
数据库系统是多用户共享系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。物理结构设计的任务之一就是根据数据库系统的支持选择哪种的存取方法。
常用的存取方法为索引法和聚簇方法。B+树索引和hash索引是数据库总经典的存取方法、使用最普遍。
所谓选择索引存储方法,实际上就是根据应用要求确定对关系的哪些属性列建立索引、哪些索引列建立组合索引、哪些列建立唯一索引。一般如下:
索引的定义不是越多越好,索引多了系统维护索引要付出很大的代价。例如更新频率高的属性就不适合建立太多的索引。
选择hash存取方法的规则如下:如果一个关系的属性主要出现在等值连接条件中或主要出现在等值比较选择中,而且满足下列两个条件,则此关系可以选择hash存储方法。
为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块中称为聚簇。该属性(或属性组)称为聚簇码(cluster key)
确定数据库物理结构主要指确定数据库的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的储存安排和存储结构,确定系统配置。
数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案。选择最优方案。
完成数据库的物理设计之后,设计人员就要用关系型数据库管理系统提供的数据定义语言和其他应用程序将数据库逻辑设计和物理设计结果严格描述出来,称为关系数据库管理系统可以接受的源代码,再经过调试产生目标模式,然后就可以数据入库了,数就是数据库实施阶段。
在数据库运行阶段,对数据库经常性的维护工作主要由数据库管理员完成的,主要包括以下几方面:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。