当我们收集并抽取一个应用所需要的大量数据之后, 如何科学地组织这些数据, 并将其存储在数据库中, 高效地处理这些数据, 我们需要一个软件系统, 即数据库管理系统 (简称DBMS) 。
但是, 什么是数据库管理系统呢?
数据库管理系统是一种操纵和管理数据库的大型软件, 是用于建立、使用和维护数据库。它对数据库进行统一的管理和控制, 以保证数据库的安全性和完整性。用户通过d b m s访问数据库中的数据, 数据库管理员也通过d b m s进行数据库的维护工作。它提供多种功能, 可使多个应用程序和用户用不同的方法在同时或不同时刻去建立, 修改和询问数据库。它使用户能方便地定义和操纵数据, 维护数据的安全性和完整性, 以及进行多用户下的并发控制和恢复数据库。数据库管理系统就是位于用户和操作系统之间的一层数据管理软件。
由于不同数据库管理系统要求的硬件资源、软件环境是不同的, 因此其功能与性能也存在差异。但是一般来说, 数据库管理系统的功能主要包括以下6个方面。
1 数据库的定义功能
数据库管理系统提供数据库模式定义语言 (D D L) 定义数据库的结构、包括外模式、内模式及其相互之间的映象, 定义数据的完整性约束、保密限制等约束条件。定义工作是由DBA完成的。因此在数据库管理系统中包括数数据库模式定义语言D D L据库模式定义语言D D L的编译程序, 它把用数据库模式定义语言 (D D L) 编写的各种源模式编译成相应的目标模式。这些目标模式是对数据库的描述, 而不是数据本身, 它们是数据库的框架 (即结构) , 并被保存在数据字典中, 供以后进行数据操纵或数据控制时查阅使用。
2 数据库操纵功能
数据库管理系统提供数据操纵语言 (D M L) 实现对数据库的操作。基本的数据操作有四种:检索、插入、删除和修改。D M L有两类, 一类是嵌入在宿主语言中使用, 例如嵌入在COBOL、FORTRAN、C等高级语言中, 这类D M L称为宿主型D M L。另一类是可以独立性交互使用的D M L, 称为自主型或自含型DML。因而数据库管理系统中必须包括D M L的编译程序或解释程序。
3 数据库运行控制功能
数据库管理系统对数据库的控制主要通过四个方面实现:数据安全性控制、数据完整性控制、多用户环境下的并发控制和数据库的恢复。
(1) 数据库安全性的控制是对数据库的一种保护。它的作用是防止被未授权的用户存取数据库中的数据。要想使用数据的用户, 首先必须向数据库管理系统标识自己, 然后系统确定他是否可以对指定的数据进行存取。防止被未授权的用户蓄谋或无意地修改数据是很重要的, 否则会导致数据完整性的破坏, 从而使企业蒙受巨大的损失。
(2) 数据完整性控制是数据库管理系统对数据库提供保护的另一个重要方面。完整性是数据的准确性和一致性的测度。当数据加入到数据库时, 对数据的合法性和一致性的检验将会提高数据的完整性程度。完整性控制的目的保持进入数据库中的存储数据的语义的正确性和有效性, 防止任何操作对数据造成违反其语义的改变。因此, 数据库管理系统都允许对数据库中各类数据定义若干语义完整性约束, 由数据库管理系统强制实行。
(3) 并发控制是数据库管理系统的第三类控制机制。数据库技术的一个优点是数据的共享性。但多应用程序同时对数据库进行操作可能会破坏数据的正确性:或者在数据库内存储了错误的数据, 或者用户读取了不正确的数据 (称为脏数据) 。并发控制机构能防止上述情况发生, 正确处理好多用户、多任务环境下的并发操作。
(4) 数据库的恢复机构是保护数据库的又一个重要方面。在数据库建立后运行中要不断地对数据库进行操作, 就可能会出现各种故障, 例如停电、软硬件各种错误、人为破坏等, 从而导致数据库损坏, 或者数据不正确了。此时数据库管理系统的恢复机构就有能力把数据库从被破坏的、不正确的状态, 恢复至以前某个正确的状态。为了保证恢复工作的正常进行, 系统要经常为数据库建立若干备份副本 (一般放在磁带上) 。
数据库管理系统的其它控制功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等。
4 数据库的维护功能
这一部分包括数据库的初始数据的载入、转换功能、数据库的转储功能、数据库的重组织功能和性质监视、分析功能等。这些功能大都由各个实用程序来完成。例如装配程序 (装配数据库) 、重组程序 (重新组织数据库) 、日志程序 (用于更新操作和数据库的恢复) 、统计分析程序等。
5 数据字典 (Data Dictionary, 记为DD)
数据字典中存放着数据库三级结构的描述。对于数据库的操作都要通过查阅数据字典进行。现在有的大型系统中, 把数据字典单独抽出来自成一个系统, 成为一个软件工具, 使得数据字典成为一个比数据库管理系统更高级的用户和数据库之间的接口。
6 数据通信接口
数据库管理系统需要提供与其他软件系统进行通信的功能。
上面是一般的数据库管理系统所具备的功能。通常在大、中型机上实现的数据库管理系统功能较强、较全, 在微机上实现的数据库管理系统功能较弱。
另外, 用宿主语言编写的应用程序并不属于数据库管理系统的范围。应用程序是用主语言和D M L编写的。程序中的D M L语句是由数据库管理系统解释执行的, 而其余部分仍由主语言编译系统去编译。
为了提供上述6方面的功能, 数据库管理系统通常由以下4部分组成。
6.1 数据定义语言及其翻译处理程序
数据库管理系统一般都提供数据定义语言 (data definition language, 简称DDL) 供用户定义数据库的各种模式, 翻译程序负责将它们翻译成相应的内部表示, 即生成目标模式。
6.2 数据操纵语言及其编译 (或解释) 程序
数据库管理系统提供了数据操纵语言 (data manipulation language, 简称DML) 实现对数据库的检索、插入、修改、删除等基本操作。D M L分为宿主型DML和自主型DML两类。
6.3 数据库运行控制程序
数据库管理系统提供了一些系统运行控制程序负责数据库运行过程中的控制与管理, 它们在数据库运行过程中监视着对数据的所有操作, 控制管理数据库资源, 处理多用户的并发操作等。
6.4 实用程序
数据库管理系统通常还提供一些实用程序, 数据库用户可以利用这些实用程序完成数据库的建立与维护, 以及数据格式的转换与通信。
摘要:本文简单地介绍了数据库管理系统所具备的六大功能, 进而介绍了数据库管理系统的四大组成部分, 让我们更进一步地理解了数据库管理系统。
关键词:数据库管理系统,数据库模式定义语言,数据操纵语言
参考文献
[1] 王克宏.JAVA技术教程[M].清华大学出版社, 2002.
[2] 苑森淼, 康辉.数据库系统教程[M].清华大学出版社, 2008, 1.
[3] 伍俊良.数据库原理与系统开发教程[M].清华大学出版社, 2007, 6.
相关文章:
分布式数据库系统的设计与实现01-12
分布式数据库系统的设计浅析01-12
如何选人如何用人01-12
如何用好教材01-12
如何用拼音写汉语01-12
企业预算管理应用技巧01-12
系统管理数据库01-12
数据中心的布线系统01-12
企业数据库的安全保护01-12