资料库管理系统(Database Management System)是一种操纵和管理资料库的大型软体,用于建立、使用和维护资料库,简称DBMS。它对资料库进行统一的管理和控制,以保证资料库的安全性和完整性。用户通过DBMS访问资料库中的数据,资料库管理员也通过dbms进行资料库的维护工作。它可使多个应用程式和用户用不同的方法在同时或不同时刻去建立,修改和询问资料库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义资料库的模式结构与许可权约束,实现对数据的追加、删除等操作。
资料库管理系统是资料库系统的核心,是管理资料库的软体。资料库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软体。有了资料库管理系统,用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位置。
基本介绍
- 中文名:资料库管理系统
- 外文名:(Database Management System)
- 数据定义:DBMS提供数据定义语言DDL
- 常见品牌:达梦 SYBASE DB2
主要功能
1.数据定义:DBMS提供数据定义语言DDL(Data Definition Language),供用户定义资料库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL主要用于建立、修改资料库的库结构。DDL所描述的库结构仅仅给出了资料库的框架,资料库的框架信息被存放在数据字典(Data Dictionary)中。
2.数据操作:DBMS提供数据操作语言DML(Data Manipulation Language),供用户实现对数据的追加、删除、更新、查询等操作。
3.资料库的运行管理:资料库的运行管理功能是DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日誌的组织管理、事务的管理和自动恢复,即保证事务的原子性。这些功能保证了资料库系统的正常运行。
4.数据组织、存储与管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种档案结构和存取方式在存储级上组织这些数据,如何实现数据之间的联繫。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率。
5.资料库的保护:资料库中的数据是信息社会的战略资源,所以数据的保护至关重要。DBMS对资料库的保护通过4个方面来实现:资料库的恢复、资料库的并发控制、资料库的完整性控制、资料库安全性控制。DBMS的其他保护功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等。
6.资料库的维护:这一部分包括资料库的数据载入、转换、转储、资料库的重组合重构以及性能监控等功能,这些功能分别由各个使用程式来完成。
7.通信:DBMS具有与作业系统的在线上处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。对网路环境下的资料库系统,还应该包括DBMS与网路中其他软体系统的通信功能以及资料库之间的互操作功能。
组成
根据其功能和套用需求,资料库管理系统通常由以下几部分组成。
资料库语言
资料库语言是给用户提供的语言,包括两个子语言:数据定义子语言和数据操纵子语言。SQL语言就是一个集数据定义和数据操纵子语言为一体的典型资料库语言。几乎出现的关係资料库系统产品都提供SQL语言作为标準资料库语言。
(1)数据定义子语言(Data Definition Language,DDL)
数据定义语言包括资料库模式定义和资料库存储结构与存取方法定义两方面。资料库模式定义处理程式接收用数据定义语言表示的资料库外模式、模式、存储模式及它们之间的映射的定义,通过各种模式翻译程式负责将它们翻译成相应的内部表示形式,存储到资料库系统中称为数据字典的特殊档案中,作为资料库管理系统存取和管理数据的基本依据;而资料库存储结构和存取方法定义处理程式接收用数据定义语言表示的资料库存储结构和存取方法定义,在存储设备上创建相关的资料库档案,建立起相应物理资料库。
(2)数据操纵子语言(Data Manipulation Language,DML)
数据操纵语言用来表示用户对资料库的操作请求,是用户与DBMS之间的接口。一般对资料库的主要操作包括:查询资料库中的信息、向资料库插入新的信息、从资料库删除信息以及修改资料库中的某些信息等。数据操纵子语言通常又分为两类:一类是嵌入主语言,由于这种语言本身不能独立使用,故称为宿主型的语言;另一类是互动式命令语言,由于这种语言本身能独立使用,故又称为自主型或自含型的语言。
例行程式
资料库管理例行程式随系统不同而各异,一般包括以下几部分:
(1)语言翻译处理程式
语言翻译处理程式包括DLL翻译程式、DML处理程式、终端查询语言解释程式和资料库控制语言的翻译程式等。
(2)系统运行控制程式
系统运行控制程式包括系统的初启程式、档案读写与维护程式、存取路径管理程式、缓冲区管理程式、安全性控制程式、完整性检查程式、并发控制程式事务管理、程式运行日誌管理程式和通信控制程式等。
(3)公用程式
公用程式包括定义公用程式和维护公用程式。定义公用程式包括信息格式定义、概念模式定义、外模式定义和保密定义公用程式等;维护公用程式包括数据装入、资料库更新、重组、重构、恢复、统计分析、工作日记转储和列印公用程式等。
组成部分
按功能划分,资料库管理系统大致可分为6个部分:
(1)模式翻译:提供数据定义语言(ddl)。用它书写的资料库模式被翻译为内部表示。资料库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。资料库的各种数据操作(如查找、修改、插入和删除等)和资料库的维护管理都是以资料库模式为依据的。
(2)应用程式的编译:把包含着访问资料库语句的应用程式,编译成在dbms支持下可运行的目标程式。
(3)互动式查询:提供易使用的互动式查询语言,如SQL.DBMS负责执行查询命令,并将查询结果显示在萤幕上。
(4)数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。
⑸事务运行管理:提供事务运行管理及运行日誌,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。
(6)资料库的维护:为资料库管理员提供软体支持,包括数据安全控制、完整性保障、资料库备份、资料库重组以及性能监控等维护工具。
技术特点
(1)採用複杂的数据模型表示数据结构,数据冗余小,易扩充,实现了数据共享。
(2)具有较高的数据和程式独立性,资料库的独立性有物理独立性和逻辑独立性。
(3)资料库系统为用户提供了方便的用户接口。
(4)资料库系统提供4个方面的数据控制功能,分别是并发控制、恢复、完整性和安全性。资料库中各个应用程式所使用的数据由资料库系统统一规定,按照一定的数据模型组织和建立,由系统统一管理和集中控制。
(5)增加了系统的灵活性。
层次结构
根据处理对象的不同,资料库管理系统的层次结构由高级到低级依次为套用层、语言翻译处理层、数据存取层、数据存储层、作业系统。
套用层
套用层是DBMS与终端用户和应用程式的界面层,处理的对象是各种各样的资料库套用。
语言翻译
语言翻译处理层是对资料库语言的各类语句进行语法分析、视图转换、授权检查、完整性检查等。
数据存取层
数据存取层处理的对象是单个元组,它将上层的集合操作转换为单记录操作。
数据存储层
数据存储层处理的对象是数据页和系统缓冲区。
作业系统
操作系统是DBMS的基础。操作系统提供的存取原语和基本的存取方法通常是作为和DBMS存储层的接口。
常见品牌
达梦资料库
SYBASE
DB2
ORACLE
MySQL
ACCESS
Visual Foxpro
MS SQL Server
Informix
PostgreSQL
选择原则
选择资料库管理系统时应从以下几个方面予以考虑:
(1) 构造资料库的难易程度。
需要分析资料库管理系统有没有範式的要求,即是否必须按照系统所规定的数据模型分析现实世界,建立相应的模型;资料库管理语句是否符合国际标準,符合国际标準则便于系统的维护、开发、移植;有没有面向用户的易用的开发工具;所支持的资料库容量,资料库的容量特性决定了资料库管理系统的使用範围。
(2) 程式开发的难易程度。
有无计算机辅助软体工程工具CASE——计算机辅助软体工程工具可以帮助开发者根据软体工程的方法提供各开发阶段的维护、编码环境,便于複杂软体的开发、维护。有无第四代语言的开发平台——第四代语言具有非过程语言的设计方法,用户不需编写複杂的过程性代码,易学、易懂、易维护。有无面向对象的设计平台——面向对象的设计思想十分接近人类的逻辑思维方式,便于开发和维护。对多媒体数据类型的支持——多媒体数据需求是今后发展的趋势,支持多媒体数据类型的资料库管理系统必将减少应用程式的开发和维护工作。
(3)资料库管理系统的性能分析。
包括性能评估(回响时间、数据单位时间吞吐量)、性能监控(内外存使用情况、系统输入/输出速率、SQL语句的执行,资料库元组控制)、性能管理(参数设定与调整)。
(4) 对分散式套用的支持。
包括数据透明与网路透明程度。数据透明是指用户在套用中不需指出数据在网路中的什幺节点上,资料库管理系统可以自动搜寻网路,提取所需数据;网路透明是指用户在套用中无需指出网路所採用的协定。资料库管理系统自动将数据包转换成相应的协定数据。
(5)并行处理能力。
支持多CPU模式的系统(SMP,CLUSTER,MPP),负载的分配形式,并行处理的颗粒度、範围。
(6) 可移植性和可扩展性。
可移植性指垂直扩展和水平扩展能力。垂直扩展要求新平台能够支持低版本的平台,资料库客户机/伺服器机制支持集中式管理模式,这样保证用户以前的投资和系统;水平扩展要求满足硬体上的扩展,支持从单CPU模式转换成多CPU并行机模式( SMP, CLUSTER, MPP)
(7)数据完整性约束。
数据完整性指数据的正确性和一致性保护,包括实体完整性、参照完整性、複杂的事务规则。
(8)并发控制功能。
对于分散式资料库管理系统,并发控制功能是必不可少的。因为它面临的是多任务分布环境,可能会有多个用户点在同一时刻对同一数据进行读或写操作,为了保证数据的一致性,需要由资料库管理系统的并发控制功能来完成。评价并发控制的标準应从下面几方面加以考虑:
保证查询结果一致性方法
数据锁的颗粒度(数据锁的控制範围,表、页、元组等)
数据锁的升级管理功能
(9) 容错能力。
异常情况下对数据的容错处理。评价标準:硬体的容错,有无磁碟镜象处理功能软体的容错,有无软体方法 (10) 安全性控制
包括安全保密的程度(帐户管理、用户许可权、网路安全控制、数据约束)
(11) 支持多种文字处理能力
包括资料库描述语言的多种文字处理能力(表名、域名、数据)和资料库开发工具对多种文字的支持能力。
(12)数据恢复的能力
当突然停电、出现硬体故障、软体失效、病毒或严重错误操作时,系统应提供恢复资料库的功能,如定期转存、恢复备份、回滚等,使系统有能力将资料库恢复到损坏以前的状态。