收藏 分享(赏)

数据库原理电子教案(第四版)chp12.ppt

上传人:dzzj200808 文档编号:2511141 上传时间:2018-09-20 格式:PPT 页数:67 大小:507.50KB
下载 相关 举报
数据库原理电子教案(第四版)chp12.ppt_第1页
第1页 / 共67页
数据库原理电子教案(第四版)chp12.ppt_第2页
第2页 / 共67页
数据库原理电子教案(第四版)chp12.ppt_第3页
第3页 / 共67页
数据库原理电子教案(第四版)chp12.ppt_第4页
第4页 / 共67页
数据库原理电子教案(第四版)chp12.ppt_第5页
第5页 / 共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 数据库物理组织 12.8 小结,An Introduction to Database System,12.1

2、 DBMS的基本功能,数据库定义和创建 数据组织、存储和管理 数据存取 数据库事务管理和运行管理 数据库的建立和维护 其他功能,An Introduction to Database System,12.1 DBMS的基本功能(续),数据库定义和创建 外模式、模式、内模式的定义 数据库完整性的定义 安全保密定义(如用户口令、级别、存取权限) 存取路径(如索引)的定义 数据字典(亦称为系统目录): 存储定义,An Introduction to Database System,12.1 DBMS的基本功能(续),数据组织、存储和管理 数据的种类 数据字典 用户数据 存取路径 任务 以某种文件结构

3、和存取方式物理地组织这些数据 实现数据之间的联系 目标 提高存储空间利用率 提高随机查找、顺序查找、增、删、改等操作的时间效率,An Introduction to Database System,12.1 DBMS的基本功能(续),数据存取 数据操纵语言(DML) 检索 插入 修改 删除 两类DML 宿主型语言 自立(独立)型语言,An Introduction to Database System,12.1 DBMS的基本功能(续),数据库事务管理和运行管理 多用户环境下事务的管理和自动恢复 并发控制和死锁检测(或死锁防止) 安全性检查和存取控制 完整性检查和执行 运行日志的组织管理,An

4、 Introduction to Database System,12.1 DBMS的基本功能(续),数据库的建立和维护 建立数据库 数据库的初始建立 数据的转换 维护数据库 数据库的转储和恢复 数据库的重组织和重构造 性能监测分析,An Introduction to Database System,12.1 DBMS的基本功能(续),其他功能 DBMS与网络中其他软件系统的通信功能 与其他DBMS或文件系统的数据转换功能 异构数据库之间的互访和互操作功能,An Introduction to Database System,12.2 DBMS进程结构和多线索机制,12.2.1 N方案:DB

5、MS与应用程序相融合的方案 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,12.2.1 N方案:DBMS与应用程序相融合的方案,N个DB用户-N个进程 连入式方案 SGA(Shared Global Area)共享全局区 字典定义信息 数据和索引缓冲块 日志缓冲块 封锁控制块,An Introduction to Databa

6、se System,12.2.1 N方案:DBMS与应用程序相融合的方案,优点 没有进程切换开销 实现比较简单 缺点 内存的需求量比较大:多DBMS副本 代码冗余使系统性能下降 适用情况 用户数少的小型DBMS,An Introduction to Database System,12.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_Thread

7、ed) DBMS的概念,An Introduction to Database System,12.2.2 2N方案:一个DBMS进程对应一个用户进程,解决N方案中DBMS代码段在内存中不能被共享应用程序与DBMS副本分开2N方案一用户一进程(Shadow进程) N个用户进程-N个DBMS进程(共2N个进程),An Introduction to Database System,12.2.2 2N方案:一个DBMS进程对应一个用户进程,An Introduction to Database System,12.2.2 2N方案:一个DBMS进程对应一个用户进程,优点 DBMS对各数据库用户的多

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

9、个用户进程 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,12.2.3 N+1方案:一个DBMS进程对应所有用户进程,一个DBMS进程对应所有用户进程 整个DBMS仅使用一个进程,类似于一个服务器(Server) 多个数据库用户向Server发message申请数据库服务 Server用自己的机制来调度这些申请,以支持一个多任务的数据库系统 没有SGA,DBMS进程的数据区=SGA

10、没有后台进程 用多线索(Multi_Threaded)技术来实现N+1方案,An Introduction to Database System,12.2.3 N+1方案:一个DBMS进程对应所有用户进程,An Introduction to Database System,12.2.3 N+1方案:一个DBMS进程对应所有用户进程,优点 采用多线索(Multi_Threaded)技术 提高系统性能,降低系统资源的开销,简化DBMS许多部分的设计 缺点 DBMS的设计整体上较复杂 消息系统过于昂贵 实际系统 Sybase,An Introduction to Database System,1

11、2.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 System,12.2.4 N+M方案:M个DBMS进程对应N个用户进程,M个DBMS进程- N个用户进程(一般 M N) DBMS进程不负责多任务调度,每个用户进程也不固定地对应于某个DBMS进程 用户

12、的数据库请求被动态分配给某个DBMS进程来处理 DBMS进程的分派由分派程序完成,An Introduction to Database System,12.2.4 N+M方案:M个DBMS进程对应N个用户进程,An Introduction to Database System,12.2.4 N+M方案:M个DBMS进程对应N个用户进程,优点 改进了2N方案,提高了内存资源的利用率 缺点 没有克服2N方案的本质弱点 分派程序给系统增加了开销并可能成为瓶颈 DBMS进程动态增减的开销亦很大 实际系统 Oracle Informix,An Introduction to Database Sys

13、tem,12.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 System,一、 线程的概念,进程细化为 “任务”(Task)、 “线程”(Thread) 进程 一分为二 Task是申请资源的最小单位 Thread是调度和运行的最小单位 一个Task中可有

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

15、少的资源 线索调度比较灵活,可控制性强 线索切换开销较小 线索间通信简便,An Introduction to Database System,12.3 DBMS系统结构,12.3.1 DBMS的层次结构 12.3.2 RDBMS的运行过程示例,An Introduction to Database System,12.3.1 DBMS的层次结构,处理各种各样的数据库应用 是RDBMS与用户/应用程序的界面层,处理数据库语言,如SQL 向上提供的数据接口是元组的集合,处理单个元组 把集合操作化为单记录操作并执行,处理数据页和系统缓冲区,An Introduction to Database S

16、ystem,12.3 DBMS系统结构,12.3.1 DBMS的层次结构 12.3.2 RDBMS的运行过程示例,An Introduction to Database System,12.3.2 RDBMS的运行过程示例,An Introduction to Database System,12.4 语言处理,12.4.1 语言处理层的任务和工作 12.4.2 解释方法 12.4.3 预编译方法,An Introduction to Database System,12.4.1 语言处理层的任务和工作,An Introduction to Database System,12.4.1 语言处

17、理层的任务和工作(续),DDL语句处理过程 把它翻译成内部表示 存储在系统的数据字典中DCL语句处理过程 与DDL的处理类似,An Introduction to Database System,12.4.1 语言处理层的任务和工作(续),DML语句的处理 束缚过程 束缚时间,An Introduction to Database System,An Introduction to Database System,An Introduction to Database System,12.4.1 语言处理层的任务和工作(续),束缚时间编程时- - -执行前- - -执行时编程时-已淘汰 执行时

18、-解释方法 执行前-预编译方法,An Introduction to Database System,12.4 语言处理,12.4.1 语言处理层的任务和工作 12.4.2 解释方法 12.4.3 预编译方法,An Introduction to Database System,12.4.2 解释方法,特点 执行前,DML语句都以原始字符串的形式保存 执行时,解释程序完成束缚过程,然后予以执行 优点 数据独立性好 灵活、应变性好 缺点 效率比较低 适用 交互式SQL,An Introduction to Database System,12.4 语言处理,12.4.1 语言处理层的任务和工作

19、12.4.2 解释方法 12.4.3 预编译方法,An Introduction to Database System,12.4.3 预编译方法,不同束缚时间的权衡 早:系统效率高,数据独立性差 晚:数据独立性高,执行效率差 预编译方法是介于上面二者之间的一个方案 特点 用户提交DML语句后,运行前对它进行翻译处理 保存产生的执行代码 运行时,取出执行代码加以执行,An Introduction to Database System,An Introduction to Database System,预编译方法的问题 应用规划失效(数据库结构改变、存取路径改变) 解决方法 重编译 重编译进行

20、时刻 立即重编译 被执行时才进行自动重编译 自动重编译技术的优点 既拥有了编译时进行束缚所带来的高效率 又具备了执行时束缚带来的数据独立性,12.4.3 预编译方法(续),An Introduction to Database System,12.5 数据存取层,An Introduction to Database System,12.5 数据存取层,12.5.1 数据存取层的系统结构 12.5.2 数据存取层的功能子功能,An Introduction to Database System,12.5.1 数据存取层的系统结构,An Introduction to Database Syst

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

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

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

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

25、stem,缓冲区管理,缓冲区查找算法 顺序查找算法 折半查找算法 hash查找算法缓冲区淘汰算法 LRU算法 FIFO算法 时钟算法 系统控制法 混合算法 ,An Introduction to Database System,12.7 数据库物理组织,衡量数据组织优劣的标准 存储效率高,节省存储空间; 存取效率高,速度快,代价小存储的数据 数据描述 即数据外模式、模式、内模式。 数据本身 数据之间的联系 存取路径,An Introduction to Database System,12.7 数据库物理组织(续),数据字典(DD)的组织 数据量比较小 使用频繁 数据及数据联系的组织 网状、层

26、次数据库:邻接法和链接法 关系数据库:表 存取路径的组织 网状、层次数据库:数据之间的联系 关系数据库:B树类文件结构和Hash文件结构,An Introduction to Database System,12.8 小结,DBMS的目标 用户界面友好 功能完备 效率高 结构清晰 开放性,An Introduction to Database System,12.8 小结(续),DBMS的基本功能 数据库定义 数据存取 数据库运行管理 数据组织、存储和管理 数据库的建立和维护 其他,An Introduction to Database System,12.8 小结(续),DBMS的进程结构 N方案 2N方案 M+N方案 N+1方案,An Introduction to Database System,12.8 小结(续),DBMS的系统结构 程序模块组成 层次结构 DBMS的主要实现技术 语言处理层 数据存取层 数据存储层 数据库物理组织,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报