数据库管理系统是对数据进行管理的网站制作软件系统,它是数据库系统的核心组成部分,用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS进行的。DBMS的工作示意图如图1.24所示。
DBMS的工作模式如下:
(1)接受应用程序的数据请求和处理请求;
(2)将用户的数据请求(高级指令)转换成复杂的机器代码(低层指令);
(3)实现对数据库的操作;
(4)从对数据库的操作中接受查询结果;
(5)对查询结果进行处理;
(6)将处理结果返回给用户。
DBMS总是基于某种数据模型,因此可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。
在不同的计算机系统中,由于缺乏统一的标准,即使同种数据模型的DBMS,在用户接口、系统功能等方面也常常是不相同的。
为了使读者对数据库系统工作有一个整体的概念,现以查询为例,介绍一下访问数据库的主要步骤,该过程如图1.25所示。
(1)当执行应用程序中一条查询数据库的记录时,则向DBMS发出读取相应记录的命令,并指明外模式名。
(2) DBMS接到命令后,调出所需的外模式,并进行权限检查。若合法,则继续执行;
否则向应用程序返回出错信息。
(3) DBMS访问模式,并根据外模式/模式映像,确定所需数据在模式上的有关信息(逻辑记录型)。
(4) DBMS访问内模式,并根据模式/内模式映像,确定所需数据在内模式上的有关信息〔读取的物理记录及存取方法)。
(5) DBMS向操作系统发出读相应数据的请求(读取记录)。
(6)操作系统执行读命令,将有关数据从外存调人到系统缓冲区上。
(7) DBMS把数据按外模式的形式送人用户工作区,返回正常执行的信息.这样,用户程序就可以使用数据了。当然,这仅仅是几个大的步骤,并未涉及有关细节。由上可知,DBMS是数据库系统的核心,且与操作系统有关。
DBMS的主要功能有以下几个方面:
1.数据库定义功能
DBMS提供数据定义语言DDL,定义数据的模式、外模式和内模式三级模式结构,定义模式/内模式和外模式/模式二级映像,定义有关的约束条件。例如,为保证数据库安全而定义的用户口令和存取权限,为保证正确语义而定义完整性规则。
2.数据操纵功能
DBMS提供数据操纵语言DML实现对数据库中数据的基本操作,如检索、插人、修改、删除和排序等。DML有以下两类:
(1)嵌人式DML。包括嵌人到C++或PowerBuilder等高级语言(称为宿主语言)中的DML。
(2)非嵌人式DML。包括交互式命令语言和结构化语言,其语法简单,可以独立使用,由单独的解释或编译系统来执行,所以一般称为自主型或自含型的DML。命令语言是行结构语言,单条执行;结构化语言是命令语言的扩充和发展,增加了程序结构描述或过程控制功能,如循环、分支等功能。命令语言一般逐条解释执行。结构化语言可以解释执行,也可以编译执行。现在DBMS一般均支持命令语言的交互式环境和结构化语言环境两种运行方式,供用户选择。
3.数据库的保护功能
数据库中的数据是信息社会的战略资源,对数据的保护是至关重要的大事。DBMS对数据库的保护通过四个方面实现,因而在DBMS中包括以下四个子系统:
(1)数据库的恢复。在数据库被破坏或数据不正确时,系统有能力把数据库恢复到正确的状态。
(2)数据库的并发控制。在多个用户同时对同一个数据进行操作时,系统应能加以控制,防止破坏数据库中的数据。
(3)数据完整性控制。保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作。
(4)数据安全性控制。防止未经授权的用户存取数据库中的数据,以避免数据的泄露、更改或破坏。
DBMS的其他保护功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等。
4.数据库的维护功能
它包括数据库的初始数据的装人,数据库的转储、恢复、重组织,系统性能监视和分析等功能。这些功能分别由各个实用程序(utilties)完成。
5.数据字典
数据库系统中存放三层结构定义的数据库称为数据字典(data dictionary, DD)。对数据库的操作都要通过DD才能实现.DD中到底应包括哪些信息,并没有明确的规定,一般由DBMS的功能强弱而定。其数据主要有两类:一类是来自用户的信息,如表、视图(用户所使用的虚表)和索引的定义以及用户的权限等;另一类是来自系统状态和数据库的统计信息,如通信系统用的协议、数据库和磁盘的映射关系、数据使用的频率统计等。上面是一般的DBMS所具备的功能,通常在大、中型计算机上实现的DBMS功能较强、较全,在微型计算机上实现的DBMS功能较弱。
返回新闻列表