数据库设计与优化

数据库设计与优化

ID:11681152

大小:42.55 KB

页数:27页

时间:2018-07-13

数据库设计与优化_第1页
数据库设计与优化_第2页
数据库设计与优化_第3页
数据库设计与优化_第4页
数据库设计与优化_第5页
资源描述:

《数据库设计与优化》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库应用系统设计中的一个核心问题,就是如何设计一个能够满足用户当前与可预见的末来的各项应用要求、性能良好的数据库。 数据库设计是从用户的数据需求、处理要求及建立数据库的环境条件(软、硬件特性,其他限制)出发,把给定的应用环境(现实世界)存在的数据加以合理地组织起来逐步抽象成已经选定的某个数据库管理系统能够定义和描述的具体的数据结构的过程。 数据库设计的成果是数据库模式和应用程序,而应用程序是以数据为基础的。因此,数据库设计中最基本的是数据库模式的设计。但是,设计一个完善的数据库系统往往是一个不断反复的过程,数据库模式必须反映数据处理的要求,保证常用的或大多数的数据处理,使用方便

2、,性能满意,且应根据应用需求适当地修改,调整数据结构,优化数据模型,以便进一步提高数据库应用系统的性能。1 规范数据模式 数据模式是关系数据库的重要组成部分,构造合适的数据模式是实现关系数据库优化设计的一个重要方面。由于关系模型有较为严格的数学工具做支撑,故一般多以关系模型做讨论的环境,从而形成了关系数据库设计理论。由于这种合适的数据模式应该符合一定的规范化要求,因而又可称为关系数据库的规范化理论。1.1 规范化理论 所谓关系规范化就是按统一标准对关系进行优化,以提高关系的质量,为构造一个高效的数据库应用系统打下基础。例如有一个反映轮船信息的数据库,由以下8个属性组成:船号、船名

3、、马力、部件号、部件名、型号、重量及用量。将这8个属性构造成一个合适的关系模式,从而构造一个关系数据库,其构造方法很多。最简单的是,将8个属性组成如下关系:  轮船(船号、船名、马力、部件号、部件名、型号、重量及用量)但是,在对这个关系操作时会有3个问题:  (1)冗余度大 一艘轮船有N个部件,就有N次重复船号、船名、马力的数据;  (2)插入异常 一种部件,如果在某一阶段没有轮船用到,其对应的信息就无法插入,使数据库在功能上产生了不正常的现象,同时也给用户带来极大的不便;  (3)删除异常 一种部件,若只有一艘轮船用到,则删除他的信息,有关他选用的部件信息同时也删除了,从而丢失

4、了应用的数据。  从上面的分析可知,轮船关系不是一个“好”的数据库模式。一个“好”的模式应当避免发生插入异规范化理论认为,关系中的各属性是相互关联的,他们互相依赖、互相制约,构成一个结构严谨的整体。因此,在关系设计中,必须从语义中摸清这些关联,特别是依赖关系,只能把那些相互关联密切的属性拼凑在一起。构造一个“好”的数据库模式,必须使他的关系模式的属性之间满足某种内在的语义条件,而这种联系又可对关系的不同要求分为若干等级,这就是关系规范化。以函数依赖为基础的关系模式的规范化等级主要有5种,即第1范式(1NF),第2范式(2NF),第3范式(3NF),BC范式(BCNF)和第4范式(

5、4NF),满足这些范式条件的关系模式可在不同程度上避免冗余、插入和更新异常问题。1.2 规范化理论的应用  为了消除关系模式在操作上的异常问题,优化数据模式,可进行规范化处理。具体做法是:确定数据依赖,把每个关系模式的各个属性按数据分析阶段所得到的语义写出其数据依赖,同时,考察不同的关系模式属性之间是否还存在某种数据依赖,得到一组数据依赖及诸关系的全部数据依赖。按照数据依赖的理论,逐一分析这组关系模式,确定他们属于第几范式,进行模式分解。  例如,对上述轮船关系进行分解,提高范式等级,可构成一个轮船信息的数据库,他的数据模式由4个关系组成:轮船(船号、船名、马力);使用(船号、部

6、件号、用量);部件(部件号、部件名、型号);型重(型号、重量)。  这4个关系属于3NF,至此,是一个比较“好”的数据库了。2 改善数据库性能  关系数据库的性能的好坏,主要体现在查询的速度上,他是数据库应用中的一个关键问题,是必须在数据库的设计中加以认真考虑的问题,特别是对那些响应时间要求较苛刻的应用,应予以特别注意。可从以下几个方面提高查询速度,改善数据库性能,从而达到数据库设计的优化目的。2.1 减少连接操作  连接操作对数据库的查询速度有着重要的影响,参与联接的关系越多,查询越慢。因此,对一些常用的、性能要求较高的数据库查询,最好是一元查询,这与规范化的要求相矛盾。有时为

7、了保证性能,把规范化的关系再合并起来,称之为逆规范化。当然,这样会引起更新异常,破坏数据库完整性,必须采取相应的措施来保证数据库的完整性,从而也会增加系统的开销。因此,决定做逆规范化时,一定要权衡利弊,仔细分析应用的数据存取需求和实际的系统性能。2.2 减小关系大小及数据量  被查询关系的大小对查询速度影响很大。为了提高查询速度,可以采用水平分割或垂直分割等方法把一个关系分成几个关系,使每个关系的数据量减少。例如,对于有关学生的关系,既可以把全校集中在一个关系中,也可用水平分割的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。