一、数据库管理系统的基本功能
数据库管理系统主要是实现对共享数据有效的组织、存储、管理和存取。围绕数据,数据库管理系统的功能为:
1、数据库定义和创建
创建数据库主要是用数据定义语言定义和创建数据库模式、外模式、内模式等数据库对象。在关系数据库中就是建立数据库(或模式)、表、视图、索引等,还有创建用户、安全保密定义(如用户口令、级别、角色、存取权限)、数据库的完整性定义。这些定义存储在数据字典(亦称为系统目录)中,是数据库管理系统运行的基本依据。
2、数据组织、存储和管理
数据库管理系统要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等。要确定以何种文件结构和存取方式在存储器上组织这些数据,以及如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率和方式存取,提高多种存取方法(如索引查找、hash查找、顺序查找等)以提高存取效率。
3、
数据库管理系统提供用户对数据的操作功能,实现对数据库数据的索引、插入、修改和删除。一个友好的关系数据库管理系统应该提供功能强且易学易用的数据操纵语言、方便的操作方式和较高的数据存取效率。数据操纵语言有两类:宿主型语言和自立(独立)型语言。
4 、数据库事务管理和运行管理
数据库管理系统的运行控制和管理功能,包括多用户环境下的事务管理功能和安全性、完整性控制功能;数据库恢复、并发控制和死锁检测(或死锁防止)、安全性检查和存取控制、完整性检查和执行、运行日志的组织管理等。这些功能保证了数据库系统的正常运行,保证了事务的ACID特性。
5、数据库的建立和维护
包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组织和重构造以及性能检测分析等。
6、其他功能
数据库管理系统包括与网络中其他软件的通信功能,一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等。
和操作系统、编译系统等系统软件相比,数据库管理系统具有跨度大、功能多的特点。从最底层的存储管理、缓冲区管理、数据存取操作、语言处理到最外层的用户接口、数据表示、开发环境的支持都是它要实现的功能。
数据库管理系统的实现,既要充分利用计算机硬件、操作系统、编译系统和网络通信等技术,又要突出对海量数据存储、管理和处理的特点,还要保证其存取数据和运行事务的高效率。
二、数据库管理系统的系统结构
1、数据库管理系统的层次结构
和操作系统一样,可以将数据管理系统划分为若干层次。例如,IBM公司最早研制的著名的关系数据库管理系统实验系统SystemR,其核心分为底层的关系存储系统(RSS)和上层的关系数据系统(RDS)。
RDS本质上是一个语言和执行层,包括语法检查与分析、优化、代码生成、视图实现、安全性完整性检查等功能。
RSS则是一个存取方法层,其功能包括空间和设备管理、索引和存取路径管理、事务管理、并发控制、运行日志管理和恢复。
按照处理对象的不同,依最高级到最低级的次序来划分的码具有普遍性。关系数据库管理系统的层次结构图示:
最上层是应用层,位于关系数据库管理系统的核心之外。应用层处理的对象是各种各样的数据库应用,如用开发工具开发的或用嵌入式SQL、存储过程等编写的应用程序,及终端用户通过应用程序接口发出的事务请求或各种查询要求等。该层是关系数据库管理系统与用户/应用程序的界面层。
第二层是语言处理层。它处理的对象是数据库语言,如SQL;向上提供的数据接口是关系、视图,即元组的集合。该层的功能是对数据库语言的各类语句进行语法分析、视图转换、安全性检查、完整性检查、查询优化等;通过对下层基本模块的调用,生成可执行代码,这些代码的运行即可完成数据库语句的功能要求。
第三层是数据存取层。该层处理的对象是单个元组,把上层的集合操作转换为单记录操作。该层执行扫描,排序,元组的增删改查,封锁等基本操作;完成数据记录的存取、存取路径维护、数据管理、并发控制和恢复等工作。
第四层是数据存储层。该层处理的对象是数据页和系统缓冲区,执行文件的逻辑打开、关闭、读页、写页、缓冲区读和写、页面淘汰等操作,完成缓冲区管理、内外存交换、外存的数据管理等功能。
操作系统是数据库管理系统的基础,它处理的对象是数据文件的物理块,执行物理文件的读写操作,保证数据管理系统对数据逻辑上的读写真实地映射到物理文件上。操作系统提供的存取原语和基本的存取方法通常作为数据库管理系统数据存储层的接口。
2、关系数据库管理系统的运行过程示例
关系数据库管理系统是一个复杂而有序的整体。如下图是应用程序/用户通过关系数据库管理系统读取数据库数据的过程:
其中,数据字典是数据库的重要组成部分,存储元数据。
用户A通过应用程序A向关系数据库管理系统发出调用数据库数据的命令。
关系数据库管理系统首先对命令进行进行语法检查,检查通过后进行语义检查和用户存取权限检查。具体做法是,关系数据库管理系统读取数据字典,检查是否存在该关系及相应的字段、该用户能否读取它们等,确认语义正确、存取权限合法后便决定指定该命令,否则拒绝执行,返回错误信息。
关系数据库管理系统执行查询优化。优化器要根据数据字典中的信息进行优化,并把该命令转换成一串单记录的存取操作序列。
关系数据库管理系统执行存取操作序列(反复执行以下各步,直至结束)。
关系数据库管理系统首先在系统缓冲区查找记录,若找到满足条件的记录则转到10,否则转到6。
关系数据库管理系统查看存储模式,决定从哪个文件、用什么方式读取哪个物理记录。
关系数据库管理系统根据6的结果,向操作系统发出读取记录的命令。
操作系统执行读取数据的相关操作。
操作系统将数据从数据库的存储去送至系统缓冲区。
关系数据库管理系统根据查询命令和数据字典的内容导出用户所要读取的记录格式。
关系数据库管理系统将数据记录从系统缓冲区传送到应用程序A的用户工作区。
关系数据库管理系统将执行状态信息。如成功读取或不成功的错误指示、例外状态信息等返回给应用程序A。
根据数据库管理系统层次结构,可以将以上操作对应相应的层次:
应用层: 1
语言处理层:2、3
数据存取层:4、10、11、12
数据存储层:5、6、7
操作系统:8、9
————————————————
2019年阿里云双11活动热门型号价格表 只要是新用户,就可以直接购买,无需拼团,没有任何门槛。
(需要的同学可以考虑来一个确实便宜最低86元一年错过真要再等一年)