数据库管理系统选择原则(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库管理系统选择原则(1)

胡经国

本文作者的话

本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。希望能够得到大家的指教和喜欢!

下面是正文

通常采用的数据库管理系统的选择原则如下:

一、构建数据库的难易程度

需要分析数据库管理系统有没有范式的要求,即:

是否必须按照数据库管理系统所规定的数据模型分析现实世界,建立相应的模型;

数据库管理语句是否符合国际标准,符合国际标准便于系统的维护、开发和移植;

有没有面向用户的易用的开发工具;

所支持的数据库容量,数据库的容量特性决定了数据库管理系统的使用范围。

链接:数据库范式

在设计关系型数据库时,要遵从不同的规范要求,以便设计出合理的关系型数据库。这些不同的规范要求,被称为不同的范式;各种范式呈递次规范,越高的范式,数据库冗余越小。

目前,关系型数据库有以下六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称为完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上,进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需要满足第三范式(3NF)就行了。

范式是为了消除重复数据、减少冗余数据,从而让数据库内的数据更好地组织,让磁盘空间得到更有效利用的一种标准化标准;满足高等级范式的先决条件是满足低等级范式,比如满足2NF一定要满足1NF。

应用数据库范式可以带来许多好处,但是最重要的好处归结为以下三点:①、减少数据冗余(这是最主要的好处,其他好处都是由此而附带的);②、消除异常(插入异常、更新异常和删除异常);③、让数据组织得更加和谐。

二、程序开发的难易程度

1、有无计算机辅助软件工程工具

有无计算机辅助软件工程(Computer Aided Software Engineering,CASE)工具。计算机辅助软件工程工具,可以帮助开发者根据软件工程的方法提供各开发阶段的维护和编码环境,便于复杂软件的开发和维护。

2、有无第四代语言开发平台

有无第四代语言(Fourth-Generation Language,简称4GL))开发平台。第四代语言具有非过程语言的设计方法,用户不需编写复杂的过程性代码,易学、易懂、易维护。

3、有无面向对象的设计平台

有无面向对象的设计平台。面向对象的设计思想,十分接近人类的逻辑思维方式,便于开发和维护。

4、有无对多媒体数据类型的支持

有无对多媒体数据类型的支持。多媒体数据(图形、图像、声音和视频等)需求是今后发展的趋势,支持多媒体数据类型的数据库管理系统必将减少应用程序的开发和维护工作。

链接:计算机辅助软件工程

计算机辅助软件工程(Computer Aided Software Engineering,CASE)是帮助进行应用程序开发的软件,包括分析、设计和代码生成。CASE工具为设计和文件编制传统结构编程技术提供了自动的方法。CASE是一组工具和方法的集合,可以辅助软件开发生命周期各个阶段进行软件开发。

链接:第四代语言

第四代语言(Fourth-Generation Language,简称4GL)的出现是源于商业需要。4GL这个词最早是在20世纪80年代初期出现在软件厂商的广告和产品介绍中的。因此,这些厂商的4GL产品不论从形式上看还是从功能上看,差别都很大。但是,人们很快发现,这一类语言由于具有“面向问题”、“非过程化程度高”等特点,可以成数量级地提高软件生产率,缩短软件开发周期,因此赢得了很多用户。1985年,美国召开了全国性的4GL研讨会,也正是在这前后,许多著名的计算机科学家对4GL展开了全面研究,从而使4GL进入了计算机科学的研究范畴。

4GL原意是非过程化程序设计语言,是针对以处理过程为中心的第三代语

言提出的;希望通过某些标准处理过程的自动生成,使用户只说明要做什么,而把具体的执行步骤的安排交给软件自动处理。

链接:面向对象编程

面向对象编程(Object Oriented Programming,OOP,即面向对象程序设计)是一种计算机编程架构。OOP的一条基本原则是:计算机程序是由单个能够起到子程序作用的单元或对象组合而成的。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。一项由Deborah J. Armstrong 进行的长达40年之久的计算机著作调查,显示出了一系列面向对象程序设计的基本理论。

三、数据库管理系统的性能分析

包括性能评估(响应时间和数据单位时间吞吐量)、性能监控(内、外存使用情况,系统输入/输出速率,SQL语句的执行,数据库元组控制)和性能管理(参数设定与调整)。

链接:响应时间和吞吐量

数据库性能一般用两个方面的指标来衡量:响应时间和吞吐量。响应越快,即响应时间越短,吞吐量越大,数据库性能也就越好。在有些情况下,响应时间和吞吐量不能一起得到改善。

链接:数据库元组

元组(Tuple)是关系数据库中的一个基本概念。关系数据库是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。在二维表里,元组也称为记录。

四、对分布式应用的支持

包括数据透明与网络透明程度。

数据透明是指用户在应用中不需指出数据在网络中的什么节点上,数据库管理系统可以自动搜索网络,提取所需数据。

网络透明是指用户在应用中无需指出网络所采用的协议,数据库管理系统自动将数据包转换成相应的协议数据。

五、并行处理能力

支持多CPU模式的系统(SMP,Cluster,MPP),负载的分配形式,并行处理的颗粒度和范围。

链接:SMP

相关文档
最新文档