第11章数据库管理系统
1. 简述DBMS的基本功能。
解:
DBMS用于操纵和管理数据库的大型软件,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
拥有以下基本的功能:
●数据库的定义和创建:DBMS提供数据定义语言(DDL)定义和创建数据库模式、外
模式、内模式等数据库对象。
●数据组织、存储和管理:DBMS要分类组织、存储和管理各种数据,包括数据字
典、用户数据、存取路径等。
●数据库的操作:DBMS提供数据操纵语言(DML)实现对数据的操作,包括:查询、
插入、删除和更新。
●数据库的保护功能:DBMS对数据库的保护主要通过四个方面实现:1)数据库的恢
复。
2)数据库的并发控制。
3)数据完整性控制。
4)数据安全性控制。
●数据库的维护功能:数据库的维护包括数据库的数据载入和转换、数据库的转储和
恢复、数据库的改组以及性能监控等功能。
●数据库的通信功能以及不断发展的新的数据管理技术。
2. 根据处理对象的不同,DBMS主要分为哪几个层次?
解:
根据处理对象的不同,数据库管理系统的层次结构由高级到低级依次为
应用层:应用层是DBMS与终端用户和应用程序的界面层,处理各种数据库应用
语言处理层:语言处理层主要是处理数据库语言,如SQL。
数据存取层:数据存取层处理单个元组,将上层集合操作转换成单元组操作。
数据存储层:数据存储层的处理对象是数据页和系统缓冲区,包括缓冲区管理、内外存交换、外存的数据管理等。
3. 试述语言翻译处理层的主要任务。
解:
语言翻译处理层用于处理数据库语言,其任务就是将用户以不同形式提交的数据库语句转换成对RDBMS内存可执行的基本存取模块的调用序列。
语言处理层对数据库语言的各类语句进行语法分析、视图转换、安全性检查、完整性检查、查询优化等,通过对下层基本模块的调用,生成可执行代码。
4. 简述数据存取层主要包括的功能子系统及各个子系统的任务。
解:
在实际的DBMS中,数据存取层功能是由多个功能子系统来完成的。
它主要包括以下功能子系统。
● 存储子系统,用于保存数据的存取原语。
● 事物管理子系统,提供定义和控制事物的操作。
● 信息控制管理子系统,提供对数据字典中说明信息的读取、增加、修改和删除操作。
● 排序/合并子系统,根据用户要求输出有序结果、删除重复值、加速关系运算的处
理过程,通常要对元组进行重新排序和合并。
● 存取路径维护子系统,提供数据执行插入、删除、修改操作时对相应存储路径的维
护。
● 封锁子系统,用于完成并发控制功能。
● 日志管理子系统,除了记录系统运行日志外,还和事务管理子系统配合来执行恢复
任务,完成事务和数据库的恢复工作。
5. 以一个SELECT语句为例,试述DBMS的工作过程。
解:
DBMS的工作过程如下:
(1) 用户向DBMS发出SELECT命令。
(2) DBMS对命令进行语法检查、语义检查、用户存取权限检查,决定是否执行该命令。
(3) DBMS执行查询优化。
优化器根据数据字典中的信息进行优化,并把命令转换为一串单记录的存取操作序列。
(4) DBMS执行存取操作序列(反复执行以下各步,直至结束)。
(5) DBMS首先在缓冲区内查找记录,若找到满足要求的记录就转到步骤10,否则转到步骤6。
(6) DBMS查看存储模式,决定从哪个文件、采取什么方式存取哪个物理记录。
(7) DBMS根据6的结果,向操作系统发出读取记录的命令。
(8) 操作系统执行读取数据的命令。
(9) 操作系统将数据从数据库存储区送到系统缓冲区。
(10)DBMS根据用户命令和数据字典的内容导出用户所要读取的数据格式。
(11)DBMS将数据记录从系统缓冲区传送到用户工作区。
(12)DBMS将执行状态信息返回给用户。
第12章数据库技术的发展
1. 数据库技术的发展经历了那几个阶段?
解:
数据库技术不断发展,先后经历了第一代网状和层次数据库系统、第二代关系数据库系统、第三代以面向对象模型为主要特征的数据库系统。
2. 关系数据模型由哪几部分组成?
解:
关系数据模型主要由关系数据结构、关系操作和数据完整性组成。
其中,关系数据结构包括域及域上的关系。
在关系模型中,现实世界的各种实体及实体之间的联系均用关系来表示。
关系操作包括关系代数中的并、交、差、笛卡尔积、选择、投影、连接、除等多种操作,其操作对象和结果都是集合。
数据完整性包括实体完整性、参照完整性和用户自定义完整性。
3. 预测数据库技术的发展趋势及应用领域?
解:
在数据、计算机硬件和数据库应用三种因素的推动下,数据库技术呈现出了将面向对象的建模能力和关系数据库结合、向智能化集成化方向扩展、支持多种互联网应用、与云计算进一步融合的趋势发展。
数据库的应用领域非常广泛,不管是家庭、公司或大型企业,还是政府部门,都需要使用数据库来存储信息。
随着信息时代的发展,数据库也相应产生了一些新的应用领域,主要有多媒体数据库、移动数据库、空间数据库等。