数据库管理系统
Aluhao · 2010-03-02 20:47 · 40862 次点击
中科永联高级技术培训中心(www.itisedu.com)
数据库管理系统(DatabaseManagementSystem)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
图书管理员在查找一本书时,首先要通过目录检索找到那本书的分类号和书号,然后在书库找到那一类书的书架,并在那个书架上按照书号的大小次序查找,这样很快就能找到我所需要的书。数据库里的数据像图书馆里的图书一样,也要让人能够很方便地找到才行。
如果所有的书都不按规则,胡乱堆在各个书架上,那么借书的人根本就没有办法找到他们想要的书。同样的道理,如果把很多数据胡乱地堆放在一起,让人无法查找,这种数据集合也不能称为"数据库"。
数据库管理系统就是从图书馆的管理方法改进而来的。人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理,这些程序后来就被称为"数据库管理系统",它们可以帮我们管理输入到计算机中的大量数据,就像图书馆的管理员。
按功能划分,数据库管理系统大致可分为6个部分:
(1)模式翻译:提供数据定义语言(DDL)。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。
(2)应用程序的编译:把包含着访问数据库语句的应用程序,编译成在DBMS支持下可运行的目标程序。
(3)交互式查询:提供易使用的交互式查询语言,如SQL。DBMS负责执行查询命令,并将查询结果显示在屏幕上。
(4)数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。
(5)事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。
(6)数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。
基于关系模型的数据库管理系统已日臻完善,并已作为商品化软件广泛应用于各行各业。它在各户服务器结构的分布式多用户环境中的应用,使数据库系统的应用进一步扩展。随着新型数据模型及数据管理的实现技术的推进,可以预期DBMS软件的性能还将更新和完善,应用领域也将进一步地拓宽。
数据库管理系统(DBMS)是为了适应信息化社会对数据管理技术的需求,在近十多年来迅速发展起来的一门新兴学科。
计算机数据管理技术大致经历了三个发展阶段:
自由管理阶段
用户以文件形式将数据组织起来,并附属在各自的应用程序下。
文件管理阶段
操作系统中的文件系统给出了统一的文件结构和共同存取的方法,用户可以把数据和信息作为文件??询和处理。
数据库管理阶段
为了适应大量数据的集中存储,并提供给多个用户共享的要求,使数据与程序完全独立,最大限度地减少数据的冗余度,出现了数据库管理系统。
著名数据库管理系统
MSSQL
SYBASE
DB2
ORACLE
MySQL
ACCESS
VF
常见的数据库管理系统
目前有许多数据库产品,如Oracle、Sybase、Informix、MicrosoftSQLServer、MicrosoftAccess、VisualFoxPro等产品各以自己特有的功能,在数据库市场上占有一席之地。下面简要介绍几种常用的数据库管理系统。
Oracle
Oracle是一个最早商品化的关系型数据库管理系统,也是应用广泛、功能强大的数据库管理系统。Oracle作为一个通用的数据库管理系统,不仅具有完整的数据管理功能,还是一个分布式数据库系统,支持各种分布式功能,特别是支持Internet应用。作为一个应用开发环境,Oracle提供了一套界面友好、功能齐全的数据库开发工具。Oracle使用PL/SQL语言执行各种操作,具有可开放性、可移植性、可伸缩性等功能。特别是在Oracle8i中,支持面向对象的功能,如支持类、方法、属性等,使得Oracle产品成为一种对象/关系型数据库管理系统。
MicrosoftSQLServer
MicrosoftSQLServer是一种典型的关系型数据库管理系统,可以在许多操作系统上运行,它使用Transact-SQL语言完成数据操作。由于MicrosoftSQLServer是开放式的系统,其它系统可以与它进行完好的交互操作。目前最新版本的产品为MicrosoftSQLServer2000,它具有可靠性、可伸缩性、可用性、可管理性等特点,为用户提供完整的数据库解决方案。
MicrosoftOffice
作为MicrosoftOffice组件之一的MicrosoftAccess是在Windows环境下非常流行的桌面型数据库管理系统。使用MicrosoftAccess无需编写任何代码,只需通过直观的可视化操作就可以完成大部分数据管理任务。在MicrosoftAccess数据库中,包括许多组成数据库的基本要素。这些要素是存储信息的表、显示人机交互界面的窗体、有效检索数据的查询、信息输出载体的报表、提高应用效率的宏、功能强大的模块工具等。它不仅可以通过ODBC与其它数据库相连,实现数据交换和共享,还可以与Word、Excel等办公软件进行数据交换和共享,并且通过对象链接与嵌入技术在数据库中嵌入和链接声音、图像等多媒体数据。
数据库管理系统选择原则
选择数据库管理系统时应从以下几个方面予以考虑:
(1)构造数据库的难易程度。
需要分析数据库管理系统有没有范式的要求,即是否必须按照系统所规定的数据模型分析现实世界,建立相应的模型;数据库管理语句是否符合国际标准,符合国际标准则便于系统的维护、开发、移植;有没有面向用户的易用的开发工具;所支持的数据库容量,数据库的容量特性决定了数据库管理系统的使用范围。
(2)程序开发的难易程度。
有无计算机辅助软件工程工具CASE——计算机辅助软件工程工具可以帮助开发者根据软件工程的方法提供各开发阶段的维护、编码环境,便于复杂软件的开发、维护。有无第四代语言的开发平台——第四代语言具有非过程语言的设计方法,用户不需编写复杂的过程性代码,易学、易懂、易维护。有无面向对象的设计平台——面向对象的设计思想十分接近人类的逻辑思维方式,便于开发和维护。对多媒体数据类型的支持——多媒体数据需求是今后发展的趋势,支持多媒体数据类型的数据库管理系统必将减少应用程序的开发和维护工作。
(3)数据库管理系统的性能分析。
包括性能评估(响应时间、数据单位时间吞吐量)、性能监控(内外存使用情况、系统输入/输出速率、SQL语句的执行,数据库元组控制)、性能管理(参数设定与调整)。
(4)对分布式应用的支持。
包括数据透明与网络透明程度。数据透明是指用户在应用??理系统可以自动搜索网络,提取所需数据;网络透明是指用户在应用中无需指出网络所采用的协议。数据库管理系统自动将数据包转换成相应的协议数据。
(5)并行处理能力。
支持多CPU模式的系统(SMP,CLUSTER,MPP),负载的分配形式,并行处理的颗粒度、范围。
(6)可移植性和可括展性。
可移植性指垂直扩展和水平扩展能力。垂直扩展要求新平台能够支持低版本的平台,数据库客户机/服务器机制支持集中式管理模式,这样保证用户以前的投资和系统;水平扩展要求满足硬件上的扩展,支持从单CPU模式转换成多CPU并行机模式(SMP,CLUSTER,MPP)
(7)数据完整性约束。
数据完整性指数据的正确性和一致性保护,包括实体完整性、参照完整性、复杂的事务规则。
(8)并发控制功能。
对于分布式数据库管理系统,并发控制功能是必不可少的。因为它面临的是多任务分布环境,可能会有多个用户点在同一时刻对同一数据进行读或写操作,为了保证数据的一致性,需要由数据库管理系统的并发控制功能来完成。评价并发控制的标准应从下面几方面加以考虑:
保证查询结果一致性方法
数据锁的颗粒度(数据锁的控制范围,表、页、元组等)
数据锁的升级管理功能
死锁的检测和解决方法
(9)容错能力。
异常情况下对数据的容错处理。评价标准:硬件的容错,有无磁盘镜象处理功能软件的容错,有无软件方法异常情况的容错功能
(10)安全性控制
包括安全保密的程度(帐户管理、用户权限、网络安全控制、数据约束)
(11)支持汉字处理能力
包括数据库描述语言的汉字处理能力(表名、域名、数据)和数据库开发工具对汉字的支持能力。