数据库系统概论(第4版)第十二章

上传人:汽*** 文档编号:580525976 上传时间:2024-08-29 格式:PPT 页数:67 大小:865.02KB
返回 下载 相关 举报
数据库系统概论(第4版)第十二章_第1页
第1页 / 共67页
数据库系统概论(第4版)第十二章_第2页
第2页 / 共67页
数据库系统概论(第4版)第十二章_第3页
第3页 / 共67页
数据库系统概论(第4版)第十二章_第4页
第4页 / 共67页
数据库系统概论(第4版)第十二章_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《数据库系统概论(第4版)第十二章》由会员分享,可在线阅读,更多相关《数据库系统概论(第4版)第十二章(67页珍藏版)》请在金锄头文库上搜索。

1、 中国人民大学信息学院中国人民大学信息学院 数据库系统概论数据库系统概论An Introduction to Database System第十二章第十二章 数据库管理系统数据库管理系统An Introduction to Database System第十二章第十二章 数据库管理系统数据库管理系统12.1 DBMS的基本功能的基本功能12.2 DBMS的进程结构和多线索机制的进程结构和多线索机制12.3 DBMS系统结构系统结构12.4 语言处理语言处理12.5 数据存取层数据存取层12.6 缓冲区管理缓冲区管理12.7 数据库物理组织数据库物理组织12.8 小结小结An Introduct

2、ion to Database System12.1 DBMS的基本功能的基本功能1.数据库定义和创建数据库定义和创建2.数据组织、存储和管理数据组织、存储和管理3.数据存取数据存取4.数据库事务管理和运行管理数据库事务管理和运行管理5.数据库的建立和维护数据库的建立和维护6.其他功能其他功能An Introduction to Database System12.1 DBMS的基本功能(续)的基本功能(续)v数据库定义和创建n外模式、模式、内模式的定义n数据库完整性的定义n安全保密定义(如用户口令、级别、存取权限)n存取路径(如索引)的定义 数据字典(亦称为系统目录): 存储定义 An In

3、troduction to Database System12.1 DBMS的基本功能(续)的基本功能(续)v数据组织、存储和管理n数据的种类数据字典用户数据存取路径n任务以某种文件结构和存取方式物理地组织这些数据实现数据之间的联系n目标提高存储空间利用率提高随机查找、顺序查找、增、删、改等操作的时间效率 An Introduction to Database System12.1 DBMS的基本功能(续)的基本功能(续)v数据存取n数据操纵语言(DML)检索插入修改删除n两类DML宿主型语言自立(独立)型语言An Introduction to Database System12.1 DBM

4、S的基本功能(续)的基本功能(续)v数据库事务管理和运行管理n多用户环境下事务的管理和自动恢复n并发控制和死锁检测(或死锁防止)n安全性检查和存取控制n完整性检查和执行n运行日志的组织管理An Introduction to Database System12.1 DBMS的基本功能(续)的基本功能(续)v数据库的建立和维护n建立数据库数据库的初始建立数据的转换n维护数据库数据库的转储和恢复数据库的重组织和重构造性能监测分析An Introduction to Database System12.1 DBMS的基本功能(续)的基本功能(续)v其他功能nDBMS与网络中其他软件系统的通信功能n与

5、其他DBMS或文件系统的数据转换功能n异构数据库之间的互访和互操作功能 An Introduction to Database System12.2 DBMS进程结构和多线索机制进程结构和多线索机制12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相融合的方案12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程12.2.4 N+M方案:方案:M个个DBMS进程对应进程对应N个用户进程个用户进程12.2.5 多线索多线索(Multi_Threaded) DB

6、MS的概念的概念An Introduction to Database System12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相融合的方案vN个DB用户-N个进程n连入式方案vSGA(Shared Global Area)共享全局区n字典定义信息n数据和索引缓冲块n日志缓冲块n封锁控制块An Introduction to Database System12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相融合的方案v优点n没有进程切换开销n实现比较简单v缺点n内存的需求量比较大:多DBMS副本n代码冗余使系统性能下降v适用情况n用户数少的小型DBMS

7、An Introduction to Database System12.2 DBMS进程结构和多线索机制进程结构和多线索机制12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相融合的方案12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程12.2.4 N+M方案:方案:M个个DBMS进程对应进程对应N个用户进程个用户进程12.2.5 多线索多线索(Multi_Threaded) DBMS的概念的概念An Introduction to Database

8、System12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程v解决N方案中DBMS代码段在内存中不能被共享 应用程序与DBMS副本分开 2N方案v一用户一进程(Shadow进程)nN个用户进程-N个DBMS进程(共2N个进程)An Introduction to Database System12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程An Introduction to Database System12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程v优点优点nDBMS对各数据

9、库用户的多任务调度由OS完成简化了用户进程与DBMS的接口实现起来比较简单 v缺点缺点n进程间总的通信开销上升n操作系统的负担增大,空间、时间效率不高nDBMS必须设立并维护若干后台进程,增加了进程切换n要访问的数据不在内存时会造成性能问题n临界区问题(Critical Section)v适用情况适用情况n用户数不庞大(非OLTP应用):Oracle 7之前版本, Ingres, Informix早期版本An Introduction to Database System12.2 DBMS进程结构和多线索机制进程结构和多线索机制12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程

10、序相融合的方案12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程12.2.4 N+M方案:方案:M个个DBMS进程对应进程对应N个用户进程个用户进程12.2.5 多线索多线索(Multi_Threaded) DBMS的概念的概念An Introduction to Database System12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程v一个DBMS进程对应所有用户进程n整 个 DBMS仅 使 用 一 个 进 程 , 类 似

11、于 一 个 服 务 器(Server)n多个数据库用户向Server发message申请数据库服务nServer用自己的机制来调度这些申请,以支持一个多任务的数据库系统 v没有SGA,DBMS进程的数据区=SGAv没有后台进程v用多线索(Multi_Threaded)技术来实现N+1方案 An Introduction to Database System12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程An Introduction to Database System12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进

12、程v优点n采用多线索(Multi_Threaded)技术提高系统性能,降低系统资源的开销,简化DBMS许多部分的设计v缺点nDBMS的设计整体上较复杂n消息系统过于昂贵 v实际系统nSybaseAn Introduction to Database System12.2 DBMS进程结构和多线索机制进程结构和多线索机制12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相融合的方案12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程12.2.4 N+M方案:

13、方案:M个个DBMS进程对应进程对应N个用户进程个用户进程12.2.5 多线索多线索(Multi_Threaded) DBMS的概念的概念An Introduction to Database System12.2.4 N+M方案:方案:M个个DBMS进程对应进程对应N个用户进程个用户进程vM个DBMS进程- N个用户进程(一般 M N)vDBMS进程不负责多任务调度,每个用户进程也不固定地对应于某个DBMS进程v用户的数据库请求被动态分配给某个DBMS进程来处理vDBMS进程的分派由分派程序完成An Introduction to Database System12.2.4 N+M方案:方案

14、:M个个DBMS进程对应进程对应N个用户进程个用户进程An Introduction to Database System12.2.4 N+M方案:方案:M个个DBMS进程对应进程对应N个用户进程个用户进程v优点n改进了2N方案,提高了内存资源的利用率v缺点n没有克服2N方案的本质弱点n分派程序给系统增加了开销并可能成为瓶颈nDBMS进程动态增减的开销亦很大 v实际系统nOraclenInformixAn Introduction to Database System12.2 DBMS进程结构和多线索机制进程结构和多线索机制12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相

15、融合的方案12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程12.2.4 N+M方案:方案:M个个DBMS进程对应进程对应N个用户进程个用户进程12.2.5 多线索多线索(Multi_Threaded) DBMS的概念的概念An Introduction to Database System一、一、 线程的概念线程的概念v进程细化为 “任务”(Task)、 “线程”(Thread)v进程n一分为二Task是申请资源的最小单位Thread是调度和运行的最小单位n一个Task

16、中可有多个ThreadnThread共享Task的所有资源,共同完成一个任务v线程n将进程中的程序代码与进程所占资源相分离,从而在一个地址空间运行多个指令流An Introduction to Database System一、一、 线程的概念(续)线程的概念(续)An Introduction to Database System二、二、 多线索(多线索(Multi_Threaded)DBMS vDBMS是一个Taskv用户申请数据库服务时,Task分配至少一个Thread为之服务v多个Thread并行工作,共享资源 An Introduction to Database System三、三

17、、 线索与进程的比较线索与进程的比较 v线索比进程占用较少的资源v线索调度比较灵活,可控制性强v线索切换开销较小v线索间通信简便 An Introduction to Database System12.3 DBMS系统结构系统结构12.3.1 DBMS的层次结构的层次结构12.3.2 RDBMS的运行过程示例的运行过程示例An Introduction to Database System12.3.1 DBMS的层次结构的层次结构处理各种各样的数据库应用处理各种各样的数据库应用是是RDBMS与用户与用户/应用程序的界面层应用程序的界面层处理数据库语言,如处理数据库语言,如SQL向上提供的数据

18、接口是元组的集合向上提供的数据接口是元组的集合处理单个元组处理单个元组把集合操作化为单记录操作并执行把集合操作化为单记录操作并执行处理数据页和系统缓冲区处理数据页和系统缓冲区An Introduction to Database System12.3 DBMS系统结构系统结构12.3.1 DBMS的层次结构的层次结构12.3.2 RDBMS的运行过程示例的运行过程示例An Introduction to Database System12.3.2 RDBMS的运行过程示例的运行过程示例An Introduction to Database System12.4 语言处理语言处理12.4.1 语

19、言处理层的任务和工作语言处理层的任务和工作12.4.2 解释方法解释方法12.4.3 预编译方法预编译方法An Introduction to Database System12.4.1 语言处理层的任务和工作语言处理层的任务和工作接收接收DB语句语句 转换转换对对DBMS内层内层可执行的基本可执行的基本存取模块的调存取模块的调用序列用序列交互式方式下的交互式方式下的SQL语句语句嵌入嵌入3GL中的中的SQL语句语句 PL/SQL中的中的SQL语句语句 An Introduction to Database System12.4.1 语言处理层的任务和工作(续)语言处理层的任务和工作(续)vD

20、DL语句处理过程n把它翻译成内部表示n存储在系统的数据字典中vDCL语句处理过程n与DDL的处理类似An Introduction to Database System12.4.1 语言处理层的任务和工作(续)语言处理层的任务和工作(续)vDML语句的处理n束缚过程n束缚时间DML语句语句 束缚束缚(Binding) 一串可执行的一串可执行的存取动作存取动作( (调用调用序列序列)相当于一个小编译器相当于一个小编译器 An Introduction to Database System其他语句查询语句DML 语句语法分析语义检查视图转换数 据 库数据字典DBMS内层基本模块库单元组接口对可执行

21、的DBMS内层基本存取模块的调用序列多元组接口查询优化代码生成An Introduction to Database SystemAn Introduction to Database System12.4.1 语言处理层的任务和工作(续)语言处理层的任务和工作(续)v束缚时间编程时- - -执行前- - -执行时n编程时-已淘汰n执行时-解释方法n执行前-预编译方法An Introduction to Database System12.4 语言处理语言处理12.4.1 语言处理层的任务和工作语言处理层的任务和工作12.4.2 解释方法解释方法12.4.3 预编译方法预编译方法An Intr

22、oduction to Database System12.4.2 解释方法解释方法v特点n执行前,DML语句都以原始字符串的形式保存n执行时,解释程序完成束缚过程,然后予以执行v优点n数据独立性好n灵活、应变性好v缺点n效率比较低v适用n交互式SQL An Introduction to Database System12.4 语言处理语言处理12.4.1 语言处理层的任务和工作语言处理层的任务和工作12.4.2 解释方法解释方法12.4.3 预编译方法预编译方法An Introduction to Database System12.4.3 预编译方法预编译方法v不同束缚时间的权衡n早:系

23、统效率高,数据独立性差n晚:数据独立性高,执行效率差预编译方法是介于上面二者之间的一个方案v特点n用户提交DML语句后,运行前对它进行翻译处理n保存产生的执行代码n运行时,取出执行代码加以执行 An Introduction to Database SystemAn Introduction to Database Systemv预编译方法的问题n应用规划失效(数据库结构改变、存取路径改变)v解决方法n重编译n重编译进行时刻立即重编译被执行时才进行自动重编译n自动重编译技术的优点既拥有了编译时进行束缚所带来的高效率又具备了执行时束缚带来的数据独立性 12.4.3 预编译方法(续)预编译方法(续

24、)An Introduction to Database System12.5 数据存取层数据存取层An Introduction to Database System12.5 数据存取层数据存取层12.5.1 数据存取层的系统结构数据存取层的系统结构12.5.2 数据存取层的功能子功能数据存取层的功能子功能An Introduction to Database System12.5.1 数据存取层的系统结构数据存取层的系统结构An Introduction to Database System12.5 数据存取层数据存取层12.5.1 数据存取层的系统结构数据存取层的系统结构12.5.2 数

25、据存取层的功能子功能数据存取层的功能子功能An Introduction to Database System12.5.2 数据存取层的功能子功能数据存取层的功能子功能v记录存取、事务管理子系统v日志登记子系统v控制信息管理模块v排序合并子系统v存取路径维护子系统v封锁子系统An Introduction to Database System一、记录存取、事务管理子系统一、记录存取、事务管理子系统v记录存取子系统n在某个存取路径上按属性值找元组(FIND)n按相对位置找元组(NEXT,PRIOR,FIRST,LAST)。n给某关系增加一个元组(INSERT)n从找到的元组中取某个属性值(GET

26、)n从某关系中删去一个元组(DELETE)n把某修改完的元组写回关系中(REPLACE) v事务管理子系统n定义事务开始(BEGIN TRANSACTION)n事务提交(COMMIT)n事务回滚(ROLLBACK)An Introduction to Database System二、日志登记子系统二、日志登记子系统v写日志记录(WRITELOG)v读日志记录(READLOG)v扫描日志文件(SCANLOG)v撤消尚未结束的事务(UNDO)v重做已经结束的事务(REDO) An Introduction to Database System三、控制信息管理模块三、控制信息管理模块v负责在内存数

27、据区登记记录类型、存取路径的说明信息和控制信息。An Introduction to Database System四、四、排序排序/合并子系统合并子系统v输出有序结果v删去重复值v支持排序 合并方法的连接操作v支持动态建立索引结构v减少数据块的存取次数An Introduction to Database System五、存取路径维护子系统五、存取路径维护子系统v对数据执行插入、删除、修改操作的同时对相应的存取路径进行维护vB+树的维护算法 n初始建立B+树索引n插入n删除n更新An Introduction to Database System7. 封锁子系统封锁子系统An Introdu

28、ction to Database System12.6 缓冲区管理缓冲区管理v数据存储层的功能 n缓冲区管理n内外存交换n外存管理v系统缓冲区设立的原因 n提供DBMS的设备独立性 外存设备的变更不会对它们造成影响n提高存取效率异步读写:预先读,延迟写 An Introduction to Database System12.6 缓冲区管理(续)缓冲区管理(续)v系统缓冲区的组成n内存n虚存v缓冲区管理n缓冲区大小 太大: 占据内存空间太小: 频频缺页调页,造成“抖动”,影响效率 n数据库缓冲区及上下接口n缓冲区管理示意图 An Introduction to Database System

29、数据库缓冲区及上下接口数据库缓冲区及上下接口An Introduction to Database System缓冲区管理缓冲区管理v缓冲区查找算法 n顺序查找算法n折半查找算法 nhash查找算法v缓冲区淘汰算法nLRU算法nFIFO算法n时钟算法n系统控制法n混合算法nAn Introduction to Database System12.7 数据库物理组织数据库物理组织v衡量数据组织优劣的标准n存储效率高,节省存储空间;n存取效率高,速度快,代价小v存储的数据n数据描述即数据外模式、模式、内模式。n数据本身n数据之间的联系n存取路径An Introduction to Database

30、 System12.7 数据库物理组织(续)数据库物理组织(续)v数据字典(DD)的组织n数据量比较小n使用频繁v数据及数据联系的组织n网状、层次数据库:邻接法和链接法n关系数据库:表v存取路径的组织n网状、层次数据库:数据之间的联系n关系数据库:B树类文件结构和Hash文件结构An Introduction to Database System12.8 小结小结vDBMS的目标n用户界面友好n功能完备n效率高n结构清晰n开放性An Introduction to Database System12.8 小结(续)小结(续)vDBMS的基本功能n数据库定义n数据存取n数据库运行管理n数据组织、存储和管理n数据库的建立和维护n其他An Introduction to Database System12.8 小结(续)小结(续)vDBMS的进程结构nN方案n2N方案nM+N方案nN+1方案An Introduction to Database System12.8 小结(续)小结(续)vDBMS的系统结构n程序模块组成n层次结构vDBMS的主要实现技术 n语言处理层n数据存取层n数据存储层n数据库物理组织An Introduction to Database System

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号