第十二章数据库管理系统

上传人:仙*** 文档编号:59057398 上传时间:2022-03-01 格式:PPT 页数:67 大小:513.52KB
收藏 版权申诉 举报 下载
第十二章数据库管理系统_第1页
第1页 / 共67页
第十二章数据库管理系统_第2页
第2页 / 共67页
第十二章数据库管理系统_第3页
第3页 / 共67页
资源描述:

《第十二章数据库管理系统》由会员分享,可在线阅读,更多相关《第十二章数据库管理系统(67页珍藏版)》请在装配图网上搜索。

1、An Introduction to Database System 中国人民大学信息学院中国人民大学信息学院 数据库系统概论数据库系统概论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 数

2、据库物理组织数据库物理组织12.8 小结小结An Introduction to Database System12.1 DBMS的基本功能的基本功能1. 数据库定义和创建数据库定义和创建2. 数据组织、存储和管理数据组织、存储和管理3. 数据存取数据存取4. 数据库事务管理和运行管理数据库事务管理和运行管理5. 数据库的建立和维护数据库的建立和维护6. 其他功能其他功能An Introduction to Database System12.1 DBMS的基本功能(续)的基本功能(续)v数据库定义和创建n外模式、模式、内模式的定义n数据库完整性的定义n安全保密定义(如用户口令、级别、存取权限

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

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

5、功能(续)的基本功能(续)v其他功能nDBMS与网络中其他软件系统的通信功能n与其他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个用

6、户进程个用户进程12.2.5 多线索多线索(Multi_Threaded) DBMS的概念的概念An Introduction to Database System12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相融合的方案v N个DB用户-N个进程n连入式方案v S G A ( S h a r e d Global Area)共享全局区n字典定义信息n数据和索引缓冲块n日志缓冲块n封锁控制块An Introduction to Database System12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相融合的方案v优点n没有进程切换开销n实现比较简

7、单v缺点n内存的需求量比较大:多DBMS副本n代码冗余使系统性能下降v适用情况n用户数少的小型DBMSAn 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 多线索多线索(Mul

8、ti_Threaded) DBMS的概念的概念An Introduction to Database 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

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

10、BMS进程结构和多线索机制进程结构和多线索机制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 System12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程

11、进程对应所有用户进程v一个DBMS进程对应所有用户进程n整个DBMS仅使用一个进程,类似于一个服务器(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

12、.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程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方案:一个方案:

13、一个DBMS进程对应所有用户进程进程对应所有用户进程12.2.4 N+M方案:方案: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 Introdu

14、ction to Database System12.2.4 N+M方案:方案: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进程结构和多线索机制进程结构和多

15、线索机制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 System一、一、 线程的概念线程的概念v进程细化为 “任务”(Task)、 “线程”(Thread)v进程n一分为

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

17、源 An Introduction to Database System三、三、 线索与进程的比较线索与进程的比较 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与用户与用户/应用程序的

18、界面层应用程序的界面层处理数据库语言,如处理数据库语言,如SQL向上提供的数据接口是元组的集合向上提供的数据接口是元组的集合处理单个元组处理单个元组把集合操作化为单记录操作并执行把集合操作化为单记录操作并执行处理数据页和系统缓冲区处理数据页和系统缓冲区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

19、to Database System12.4 语言处理语言处理12.4.1 语言处理层的任务和工作语言处理层的任务和工作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 Syst

20、em12.4.1 语言处理层的任务和工作(续)语言处理层的任务和工作(续)vDDL语句处理过程n把它翻译成内部表示n存储在系统的数据字典中vDCL语句处理过程n与DDL的处理类似An Introduction to Database System12.4.1 语言处理层的任务和工作(续)语言处理层的任务和工作(续)vDML语句的处理n束缚过程n束缚时间DML语句语句 束缚束缚(Binding) 一串可执行的一串可执行的存取动作存取动作( (调用调用序列序列)相当于一个小编译器相当于一个小编译器 An Introduction to Database System其他语句查询语句DML 语句语法

21、分析语义检查视图转换数 据 库数据字典DBMS内层基本模块库单元组接口对可执行的DBMS内层基本存取模块的调用序列多元组接口查询优化代码生成An Introduction to Database System 词词法法分分析析 语语法法分分析析 语语义义分分析析 符符号号名名转转换换 合合法法权权检检查查 完完整整性性检检查查 视视图图转转换换 代代数数优优化化 存存取取路路径径选选择择 优优化化 策策略略描描述述 数数据据库库 数数据据字字典典 DBMS 内内层层基基本本模模块块库库 单单元元组组接接口口 对对可可执执行行的的DBMS内内层层基基本本存存取取模模块块的的调调用用序序列列 多多

22、元元组组接接口口 查查询询优优化化 查查询询分分析析 查查询询检检查查 DML 语语句句 An 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 Introduction to Database

23、 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早:系统效率高,数据独立性差n晚:数据独立性高

24、,执行效率差预编译方法是介于上面二者之间的一个方案v特点n用户提交DML语句后,运行前对它进行翻译处理n保存产生的执行代码n运行时,取出执行代码加以执行 An Introduction to Database System 源源 模模 块块 修修 改改 后后 的的 源源 模模 块块 DBRM Select From W here 数数 据据 库库 数数 据据 字字 典典 DBM S 内内 存存 基基 本本 存存 取取 模模 块块 目目 标标 模模 块块 装装 载载 模模 块块 应应 用用 规规 划划 DB 主主 存存 (装装 载载 模模 块块 ) (应应 用用 规规 划划 ) 运运 行行 监监

25、 督督 器器 数数 据据 存存 储储 管管 理理 器器 (其其 他他 ) 该该 源源 语语 言言 的的 编编 译译 器器 连连 接接 束束 缚缚 (bind) 预预 编编 译译 器器 An Introduction to Database Systemv预编译方法的问题n应用规划失效(数据库结构改变、存取路径改变)v解决方法n重编译n重编译进行时刻立即重编译被执行时才进行自动重编译n自动重编译技术的优点既拥有了编译时进行束缚所带来的高效率又具备了执行时束缚带来的数据独立性 12.4.3 预编译方法(续)预编译方法(续)An Introduction to Database System12.5

26、 数据存取层数据存取层 语言处理层:元组、关系、视图等逻辑数据结构语言处理层:元组、关系、视图等逻辑数据结构 数据存取层:逻辑记录、逻辑块、逻辑存取路径数据存取层:逻辑记录、逻辑块、逻辑存取路径 数据存储层:存储记录、块、块组成的系统缓冲区数据存储层:存储记录、块、块组成的系统缓冲区 多元组接口(如多元组接口(如 SQL 语句)语句) 单元组接口单元组接口 存储器接口存储器接口 An Introduction to Database System12.5 数据存取层数据存取层12.5.1 数据存取层的系统结构数据存取层的系统结构12.5.2 数据存取层的功能子功能数据存取层的功能子功能An I

27、ntroduction to Database System12.5.1 数据存取层的系统结构数据存取层的系统结构 排序排序/合并合并 子系统子系统 存取路径存取路径 维护子系统维护子系统 封锁子系统封锁子系统 日志登录子系统日志登录子系统 数据存储层数据存储层 单元组接口单元组接口 记录存取、事务记录存取、事务管理子系统管理子系统 控制信控制信息管理息管理 An Introduction to Database System12.5 数据存取层数据存取层12.5.1 数据存取层的系统结构数据存取层的系统结构12.5.2 数据存取层的功能子功能数据存取层的功能子功能An Introductio

28、n 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)n从某关系中删去一个元组(DELETE)n把某修改完的元组写回关系中

29、(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负责在内存数据区登记记录类型、存取路径的说明信息和控制信息。An Introduc

30、tion 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. 封锁子系统封锁子系统操作系统和数据库管理系统封锁技术的比较操作系统和数据库管理系统封锁技术的比较 操作系统操作

31、系统 数据库管理系统数据库管理系统 封锁对象封锁对象 单一,系统资源(包括单一,系统资源(包括 CPUCPU、设备、表格等)设备、表格等) 多样,数据库中各种数据对象(包括多样,数据库中各种数据对象(包括用户数据、索引(存取路径) 、数据用户数据、索引(存取路径) 、数据字典等)字典等) 封锁对象的状态封锁对象的状态 静态、确定、各种封锁对象静态、确定、各种封锁对象在封锁表中占有一项。在封锁表中占有一项。 封锁对象数是不变的封锁对象数是不变的 动态, 不确定。 封锁对象动态改变着、动态, 不确定。 封锁对象动态改变着、常常在执行前不能确定。一个封锁对常常在执行前不能确定。一个封锁对象只有当封锁

32、时才在封锁表中占据象只有当封锁时才在封锁表中占据一项一项 封锁的粒度封锁的粒度 不变,由于封锁对象单一、不变,由于封锁对象单一、固定,封锁粒度不会改变固定,封锁粒度不会改变 可变,封锁可加到或大或小的数据单可变,封锁可加到或大或小的数据单位上,封锁粒度可以是整个数据库、位上,封锁粒度可以是整个数据库、记记录或字段录或字段 封锁的类型封锁的类型 单一,排它锁单一,排它锁 多样,一般有共享锁(多样,一般有共享锁(S LockS Lock) 、排) 、排它锁(它锁(X LockX Lock)或其他类型的封锁,)或其他类型的封锁,随系统而异随系统而异 An Introduction to Databa

33、se 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数据库缓冲区及上下接口数据库缓

34、冲区及上下接口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 System12.7 数

35、据库物理组织(续)数据库物理组织(续)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数据库物理组织

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!