资源描述
,单击此处编辑母版标题样式,2019/3/28,#,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,1,11.1.2 DBMS,的基本功能,DBMS,主要是实现对共享数据有效的组织、管理和存取。,1.,数据库定义,2.,数据存取,3.,数据库运行管理,4.,数据组织、存储和管理,5.,数据库的建立和维护,6.,其它功能,通信功能,数据转换功能,111.1.2 DBMS的基本功能DBMS主要是实现对共享数,2,11.1.3 DBMS,与操作系统,DBMS,是建立在,OS,之上的软件系统,是,OS,的用户。,DBMS,对共享数据的组织、管理和存取需要,OS,的支持。,DBMS,遇到创建和撤销进程、进程通信、读写磁盘、分配内存等要求时必须请求,OS,服务。,不同,OS,提供不同的服务方式,导致,DBMS,在实现技术上和实现方法上的诸多差异。对于同一,OS,,,DBMS,也可以由不同的实现选择。,211.1.3 DBMS与操作系统DBMS是建立在OS之上的,3,11.1.4 DBMS,和第四代应用开发环境,屏幕表格,开发工具,SQL*FORMS,菜单生成,SQL*MENU,预编译,PROORACLE,数据通信与,分布软件,LINK,SQL*STAR,用户友好接口,SQL*PLUS,SQL,执行程序,ORACLE,内核,关系数据库,管理系统,报表编写程序,SQL*REPORT,图形软件,SQL*GRAPH,电子表格,SQL*CALC,数据转换,ODL,数据库与,数据字典,311.1.4 DBMS和第四代应用开发环境屏幕表格菜单生成,4,11.2 DBMS,的进程结构和多线索机制,应用程序通过,DBMS,,,DBMS,通过,OS,,与数据库中的数据打交道。以及都必须进入某个具体的,OS,环境。,11.2.1 N,方案:,DBMS,与应用程序相融合的方案,AP,1,DBMS,AP,2,DBMS,AP,i,DBMS,U,1,U,i,OS,DB,文件,SGA,411.2 DBMS的进程结构和多线索机制应用程序通过DBM,5,11.2.2 2N,方案:一个,DBMS,进程对应一个用户进程,AP,1,DBMS,AP,2,DBMS,AP,i,DBMS,U,1,U,i,OS,DB,文件,SGA,511.2.2 2N方案:一个DBMS进程对应一个用户进程A,6,11.2.3 N+1,方案:一个,DBMS,进程对应所有用户进程,AP,1,DBMS,AP,2,AP,i,U,1,U,i,OS,DB,文件,SGA,611.2.3 N+1方案:一个DBMS进程对应所有用户进程,7,11.2.4 N+M,方案:,M,个,DBMS,进程对应,N,个用户进程,AP,1,DBMS,AP,2,AP,i,U,1,U,i,OS,DB,文件,SGA,DBMS,进 程,服务池,711.2.4 N+M方案:M个DBMS进程对应N个用户进程,8,11.2.5,多线索,(Multi_Threaded) DBMS,的概念,一、线程的概念,在,OS,中,将进程的概念一分为二,,Task,是申请资源的最小单位,而,Thread,是调度和运行的最小单位。一个,Task,中可以有多个,Thread,,它们共享,Task,的所有资源,共同完成一个任务。一个,Thread,只能存在于某个,Task,中。在多处理机上,这些,Thread,可真正并行地执行。,多个线程运行于同一实体,(,任务或进程,),,并共享该实体所拥有的所有资源。,线程的基本概念就是将进程中的程序代码与进程所占资源相分离,从而在一个地址空间可以运行多个指令流。,811.2.5 多线索(Multi_Threaded) DB,9,进程、,Task,与,Thread,PC,PS,SP,Stack,Register,(,运行资源,),进程控制信息,存储管理信息,信号处理信息,文件指针管理,资源占用统计,资源控制信息,进程控制信息,存储管理信息,信号处理信息,文件指针管理,资源占用统计,资源控制信息,运行资源,UNIX,中进程的概念,MACH,中,Task,与,Thread,概念,Thread,Task,9进程、Task与ThreadPC,PS,SP进程控制信息进,10,二、多线索,(Multi_Threaded)DBMS,数据库系统中的“线索”概念借鉴了,OS”,线程”概念的含义:整个,DBMS,可以看作一个,Task,,当有一个用户申请数据库服务时,,Task,分配至少一个,Thread,为之服务,多个,Thread,并行工作,共享资源。,一般地讲,,DBMS,中的线索是,DBMS,的一个执行流,它服务于整个,DBMS,系统或,DBMS,的某个用户;,DBMS,服务器相应客户请求是通过为每个用户创建线索来完成。,DBMS,的各个线索能在逻辑上并行执行,并共存于一个进程,共享,DBMS,的所有资源;线索是,DBMS,的调度单位,服务器进程能按一定的调度算法调度用户请求。,10二、多线索(Multi_Threaded)DBMS,11,三、线索与进程的比较,1.,线索比进程占用较少的资源,线索是程序中的一串指令流,同一进程内的多个线索共享该进程内的一切资源。因此,线索比进程占用更少的资源,是更小的调度单位,可支持较细粒度的并行。,2.,线索调度比较灵活,可控制性强,进程调度是,OS,控制的、非智能的,,DBMS,无法干涉,3.,线索切换开销较小,线程共享同一地址空间,4.,线索间通信简单,线索可以借助全局变量名或局部变量名的指针进行通信。,11三、线索与进程的比较,12,11.3 DBMS,系统结构,11.3.1 DBMS,程序模块的组成,一、数据库定义方面的程序模块,模式、外模式、存储模式的定义模块。,安全性定义程序模块。,完整性定义程序模块。,二、数据操纵方面的程序模块,查询处理程序模块。,数据更性程序模块。,交互式查询程序模块。,嵌入式查询程序模块。,1211.3 DBMS系统结构11.3.1 DBMS程序模,13,三、数据库运行管理方面的程序模块,主要有系统初启程序和安全性检查、完整性检查、并发控制、事务管理、运行日志管理等三、数据库运行管理方面的程序模块。,四、数据库组织、存储和管理方面的程序模块,有文件读写于维护程序、存取路径管理和维护程序、缓冲区管理程序等,五、数据库建立、维护和其他方面的程序模块,有数据库初始装入程序、转储程序、恢复程序、数据库重构造程序、数据转换程序、通信程序等。,13三、数据库运行管理方面的程序模块,14,11.3.2 DBMS,的层次结构,应用层,语言编译处理层,数据存取层,数据存储层,操作系统,数据库,1411.3.2 DBMS的层次结构应用层语言编译处理层数据,15,11.3.3 DBMS,运行过程示例,系统,缓冲区,应用程序,用户工作区,(UWA),数据库管理系统,(DBMS),操作系统,数据字典,数据库,1511.3.3 DBMS运行过程示例系统应用程序用户工作区,16,11.4,语言处理,11.4.1,语言翻译处理层的任务和工作步骤,任务:把用户提交的交互式命令或嵌入式语言转换成对应的,DBMS,层内可执行的基本存取模块的调用序列。,数据库语言通常包括,DDL,、,DML,和,DCL,三部分。,在,RDMBS,中,DD,通常采用和普通数据同样的表示方式,表。它包括关系定义表、属性表、视图表、视图属性表、视图表达式表、用户表、存取权限表等。,DD,是,DML,语句处理、执行以及,DBMS,运行管理的基本依据。,1611.4 语言处理11.4.1 语言翻译处理层的任务和工,17,RDBMS,数据字典的部分示意图,关系定义表,关系名,视图定义指针,属性定义指针,记录总数,记录长度,属性个数,建立者,别名,视图属性指针,基关系指针,视图表达式指针,视图表,属性名,类型,长度,记录内偏址,完整性定义指针,属性表达式指针,属性表,属性名,基关系属性指针,属性表达式设计,用户名,口令,用户表,视图属性表,用户名,数据对象名,数据对象类型,操作权限,存取谓词,用户权限表,视图名,表达式语法树,根指针,17RDBMS数据字典的部分示意图关系定义表关系名视图定义指,18,词法分析,语法分析,符号名转换,合法权检查,完整性检查,视图转换,代数优化,存取路径优化,策略描述,DML,语句,可执行的,RDBMS,内层基本存取模块的调用序列,查询检查,查询分析,查询优化,数据库,数据字典,DBMS,内层基本,模块库,单元组接口,多元组接口,18词法分析合法权检查代数优化DML语句可执行的RDBMS内,19,11.4.2,解释方法,解释执行,与编译技术,11.4.3,预编译方法,源模块,修改后的,源模块,预编译器,数据库,数据字典,该语言的编译器,束缚,(bind),目标模块,装载模块,连接,(装载模块,),(,应用规划,),数据存储管理器器,运行监督器,(,其它,),DB,DBMS,内存基本,存取模块,应用规划,DBRM,Select ,From,内存,1911.4.2 解释方法源模块修改后的预编译器数据库该语,20,11.5,数据存取层,语言处理层:元组、关系、视图等逻辑数据结构,数据存取层:逻辑记录、逻辑块、逻辑存取路径,数据存储层:逻辑记录、块、块组成的系统缓冲区,多元组接口,(,如,SQL,语句,),单元组接口,存储器接口,2011.5 数据存取层语言处理层:元组、关系、视图等逻辑数,21,11.5.1,存取层的系统结构,记录存取、事,务管理子系统,控制信息,管理,排序,/,合并,子系统,存取路径,维护子系统,封锁子系统,日志登录子系统,数据存储层,单元数据接口,2111.5.1 存取层的系统结构记录存取、事控制信息排序/,22,11.5.2,存取层的功能子系统,一、记录存取、事务管理子系统,不涉及存储分配、存储结构及有关参数,只在数据的逻辑结构上操作,因而可以把各种物理实现形态隐藏起来。,二、日志登记子系统,三、控制信息管理子系统,四、排序,/,合并子系统,五、存取路径维护子系统,六、封锁子系统,2211.5.2 存取层的功能子系统一、记录存取、事务管理子,23,11.6,缓冲区管理,控制信息,第一页,第二页,(,操作:查找页、,申请页、,淘汰页,),BUFFER,读,(READBUF),写,(WRITEBUF),读,(OS),写,(OS),数据库,数据库缓冲区,及上下接口,2311.6 缓冲区管理控制信息第一页第二页BUFFER读,24,在缓冲区中查找页,找到?,在缓冲区中申请一页,按淘汰策略淘汰一页,从外存读入新页,READBUF,NO,无空页,有空页,YES,缓冲区管理示意图,(,读操作,),24在缓冲区中查找页找到?在缓冲区中申请一页按淘汰策略淘汰一,25,11.7,数据库物理组织,一、数据字典,(DD),的组织,二、数据及数据联系的组织,三、存取路径的组织,四、一个实际系统的例子,ORACLE,系统,(,无论大型、中型或微机版本,),数据库存储空间有,RDBMS,管理,数据库在逻辑上又一个或多个分区组成,分区中至少有一个系统分区,,DD,存储在该分区中,一个分区包含一个或多个数据库表,一个表只能属于一个分区,不能跨分区存放,一个分区物理上由一个或多个物理文件组成,2511.7 数据库物理组织一、数据字典(DD)的组织,26,ORACLE DATABASE,分区,(partitions),物理文件,(physical files),数据库表,(database tables),物理块,(physical blocks),数据段,(data segment),索引段,(index segment),数据区间,(data extents),索引区间,(index extents),1:n,Orcale,数据库组织示意图,26ORACLE DATABASE分区物理文件数据库表物理,27,时间印,(Timestamp),下一块的地址,上一块的地址,块头信息,(Header),该行长度,行号,列,a,长度,列,a,标识,列,a,数据,列,b,长度,列,b,标识,列,b,数据,备用空间,(,由,PCTFREE,参数确定,),Orcale,数据块的格式,27时间印(Timestamp)下一块的地址上一块的地址块头,28,11.8,小结,本章主要讨论,DBMS,的基本功能,系统结构及主要的实现技术。,按照,DBMS,的层次结构依次介绍语言翻译处理层、数据存取层、缓冲区管理、数据物理组织等各个层次的主要任务和功能,涉及的主要概念和问题。,数据库领域过去所取得的主要成就,就是数据建模和计算技术。包括如何在外部存储设备上存储数据、如何分片;如何使用各种复杂的存取方法、缓冲策略和索引技术访问外部设备上的数据;数据库恢复、并发控制、完整性和安全性的实施、查询处理和优化技术等。,2811.8 小结本章主要讨论DBMS的基本功能,系统结构及,
展开阅读全文