打开主菜单

求真百科

数据库管理系统

数据库管理系统,是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库

数据库管理系统

目录

主要组成

模式翻译

提供数据定义语言(ddl)。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储

存结构保存在内部的数据字典中。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。

应用程序的编译

把包含着访问数据库语句的应用程序,编译成在dbms支持下可运行的目标程序。

交互式查询

提供易使用的交互式查询语言,如sql。dbms负责执行查询命令,并将查询结果显示在屏幕上。

数据的组织与存取

提供数据在外围储存设备上的物理组织与存取方法。

事务运行管理

提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。

数据库的维护

为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。

主要功能

数据定义

DBMS提供数据定义语言DDL(Data Definition Language),供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL主要用于建立、修改数据库的库结构。DDL所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(Data Dictionary)中。

数据操作

DBMS提供数据操作语言DML(Data Manipulation Language),供用户实现对数据的追加、删除、更新、查询等操作。


折叠数据库的运行管理

数据库的运行管理功能是DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复,即保证事务的原子性。这些功能保证了数据库系统的正常运行。[1]数据组织、存储与管理

DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率。[2]

数据库的保护

数据库中的数据是信息社会的战略资源,所以数据的保护至关重要。DBMS对数据库的保护通过4个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库安全性控制。DBMS的其他保护功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等。

数据库的维护

这一部分包括数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能,这些功能分别由各个使用程序来完成。

通信

DBMS具有与操作系统的联机处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。对网络环境下的数据库系统,还应该包括DBMS与网络中其他软件系统的通信功能以及数据库之间的互操作功能。

主要特点

(1)采用复杂的数据模型表示数据结构,数据冗余小,易扩充,实现了数据共享。

(2)具有较高的数据和程序独立性,数据库的独立性有物理独立性和逻辑独立性。

(3)数据库系统为用户提供了方便的用户接口。

(4)数据库系统提供4个方面的数据控制功能,分别是并发控制、恢复、完整性和安全性。数据库中各个应用程序所使用的数据由数据库系统统一规定,按照一定的数据模型组织和建立,由系统统一管理和集中控制。

(5)增加了系统的灵活性。

层次结构

根据处理对象的不同,数据库管理系统的层次结构由高级到低级依次为应用层、语言翻译处理层、数据存取层、数据存储层、操作系统。

应用层

应用层是DBMS与终端用户和应用程序的界面层,处理的对象是各种各样的数据库应用。

语言翻译处理层

语言翻译处理层是对数据库语言的各类语句进行语法分析、视图转换、授权检查、完整性检查等。

数据存取层

数据存取层处理的对象是单个元组,它将上层的集合操作转换为单记录操作。

数据存储层

数据存储层处理的对象是数据页和系统缓冲区。

操作系统

操作系统是DBMS的基础。操作系统提供的存取原语和基本的存取方法通常是作为和DBMS存储层的接口。

其他资料

选择原则

(1)构造数据库的难易程度

需要分析数据库管理系统有没有范式的要求,即是否必须按照系统所规定的数据模型分析现实世界,建立相应的模型;数据库管理语句是否符合国际标准,符合国际标准则便于系统的维护、开发、移植;有没有面向用户的易用的开发工具;所支持的数据库容量,数据库的容量特性决定了数据库管理系统的使用范围。

(2)程序开发的难易程度

有无计算机辅助软件工程工具CASE——计算机辅助软件工程工具可以帮助开发者根据软件工程的方法提供各开发阶段的维护、编码环境,便于复杂软件的开发、维护。有无第四代语言的开发平台——第四代语言具有非过程语言的设计方法,用户不需编写复杂的过程性代码,易学、易懂、易维护。

有无面向对象的设计平台——面向对象的设计思想十分接近人类的逻辑思维方式,便于开发和维护。对多媒体数据类型的支持——多媒体数据需求是今后发展的趋势,支持多媒体数据类型的数据库管理系统必将减少应用程序的开发和维护工作。

(3)数据库管理系统的性能分析

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

(4)对分布式应用的支持

包括数据透明与网络透明程度。数据透明是指用户在应用中不需指出数据在网络中的什么节点上,数据库管理系统可以自动搜索网络,提取所需数据;网络透明是指用户在应用中无需指出网络所采用的协议。数据库管理系统自动将数据包转换成相应的协议数据。

(5)并行处理能力

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

(6)可移植性和可扩展性

可移植性指垂直扩展和水平扩展能力。垂直扩展要求新平台能够支持低版本的平台,数据库客户机/服务器机制支持集中式管理模式,这样保证用户以前的投资和系统;水平扩展要求满足硬件上的扩展,支持从单CPU模式转换成多CPU并行机模式( SMP, CLUSTER, MPP)

(7)数据完整性约束

数据完整性指数据的正确性和一致性保护,包括实体完整性、参照完整性、复杂的事务规则。

(8)并发控制功能

对于分布式数据库管理系统,并发控制功能是必不可少的。因为它面临的是多任务分布环境,可能会有多个用户点在同一时刻对同一数据进行读或写操作,为了保证数据的一致性,需要由数据库管理系统的并发控制功能来完成。

(9)容错能力

异常情况下对数据的容错处理。评价标准:硬件的容错,有无磁盘镜象处理功能软件的容错,有无软件方法。

(10)安全性控制

包括安全保密的程度(帐户管理、用户权限、网络安全控制、数据约束)

(11)支持多种文字处理能力

包括数据库描述语言的多种文字处理能力(表名、域名、数据)和数据库开发工具对多种文字的支持能力。

(12) 数据恢复的能力

当突然停电、出现硬件故障、软件失效、病毒或严重错误操作时,系统应提供恢复数据库的功能,如定期转存、恢复备份、回滚等,使系统有能力将数据库恢复到损坏以前的状态。

常见品牌

SYBASE、DB2、ORACLE、MySQL、ACCESS、VF、Foxpro、MS SQL Server、Informix、PostgreSQL。

参考来源