1 / 29

第十一章 数据库管理系统

第十一章 数据库管理系统. 11.1 DBMS 概述 11.1.1 DBMS 的目标 DBMS 是介于用户和 OS 之间的一组软件。 1. 用户界面友好:用户界面应具有可靠性、易用性、立即反馈和多样性等特性。 2. 功能完备:数据库定义、数据库数据存取、数据库运行管理、数据库组织和存储管理、数据库的建立和维护等。 3. 效率高:计算机内部资源的利用率和 DBNS 本身的运行效率。 4. 结构清晰 5. 开放性. 11.1.2 DBMS 的基本功能. DBMS 主要是实现对共享数据有效的组织、管理和存取。 1. 数据库定义 2. 数据存取

dot
Télécharger la présentation

第十一章 数据库管理系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十一章 数据库管理系统 11.1 DBMS概述 11.1.1 DBMS的目标 • DBMS是介于用户和OS之间的一组软件。 1. 用户界面友好:用户界面应具有可靠性、易用性、立即反馈和多样性等特性。 2. 功能完备:数据库定义、数据库数据存取、数据库运行管理、数据库组织和存储管理、数据库的建立和维护等。 3. 效率高:计算机内部资源的利用率和DBNS本身的运行效率。 4. 结构清晰 5. 开放性

  2. 11.1.2 DBMS的基本功能 • DBMS主要是实现对共享数据有效的组织、管理和存取。 1.数据库定义 2.数据存取 3.数据库运行管理 4.数据组织、存储和管理 5.数据库的建立和维护 6.其它功能 通信功能,数据转换功能

  3. 11.1.3 DBMS与操作系统 • DBMS是建立在OS之上的软件系统,是OS的用户。 • DBMS对共享数据的组织、管理和存取需要OS的支持。 • DBMS遇到创建和撤销进程、进程通信、读写磁盘、分配内存等要求时必须请求OS服务。 • 不同OS提供不同的服务方式,导致DBMS在实现技术上和实现方法上的诸多差异。对于同一OS,DBMS也可以由不同的实现选择。

  4. 11.1.4 DBMS和第四代应用开发环境 屏幕表格 开发工具 SQL*FORMS 用户友好接口 SQL*PLUS 报表编写程序 SQL*REPORT 菜单生成 SQL*MENU SQL 执行程序 图形软件 SQL*GRAPH 预编译 ‘PRO’ORACLE ORACLE内核 关系数据库 管理系统 电子表格 SQL*CALC 数据通信与 分布软件 LINK,SQL*STAR 数据转换 ODL 数据库与 数据字典

  5. 11.2 DBMS的进程结构和多线索机制 • 应用程序通过DBMS,DBMS通过OS,与数据库中的数据打交道。以及都必须进入某个具体的OS环境。 11.2.1 N方案:DBMS与应用程序相融合的方案 AP1 AP2 APi U1 Ui DBMS DBMS DBMS SGA OS DB 文件

  6. AP1 AP2 APi U1 Ui 11.2.2 2N方案:一个DBMS进程对应一个用户进程 DBMS DBMS DBMS SGA OS DB 文件

  7. AP1 AP2 APi U1 Ui 11.2.3 N+1方案:一个DBMS进程对应所有用户进程 DBMS SGA OS DB 文件

  8. AP1 AP2 APi U1 Ui 11.2.4 N+M方案:M个DBMS进程对应N个用户进程 进 程 服务池 SGA DBMS DBMS OS DB 文件

  9. 11.2.5 多线索(Multi_Threaded) DBMS的概念 一、线程的概念 • 在OS中,将进程的概念一分为二,Task是申请资源的最小单位,而Thread是调度和运行的最小单位。一个Task中可以有多个Thread,它们共享Task的所有资源,共同完成一个任务。一个Thread只能存在于某个Task中。在多处理机上,这些Thread可真正并行地执行。 • 多个线程运行于同一实体(任务或进程),并共享该实体所拥有的所有资源。 • 线程的基本概念就是将进程中的程序代码与进程所占资源相分离,从而在一个地址空间可以运行多个指令流。

  10. UNIX中进程的概念 MACH中Task与Thread概念 Thread Task PC,PS,SP Stack Register (运行资源) 运行资源 进程、Task与Thread 进程控制信息 存储管理信息 信号处理信息 文件指针管理 资源占用统计 资源控制信息 进程控制信息 存储管理信息 信号处理信息 文件指针管理 资源占用统计 资源控制信息

  11. 二、多线索(Multi_Threaded)DBMS • 数据库系统中的“线索”概念借鉴了OS”线程”概念的含义:整个DBMS可以看作一个Task,当有一个用户申请数据库服务时,Task分配至少一个Thread为之服务,多个Thread并行工作,共享资源。 • 一般地讲,DBMS中的线索是DBMS的一个执行流,它服务于整个DBMS系统或DBMS的某个用户;DBMS服务器相应客户请求是通过为每个用户创建线索来完成。 • DBMS的各个线索能在逻辑上并行执行,并共存于一个进程,共享DBMS的所有资源;线索是DBMS的调度单位,服务器进程能按一定的调度算法调度用户请求。

  12. 三、线索与进程的比较 1. 线索比进程占用较少的资源 • 线索是程序中的一串指令流,同一进程内的多个线索共享该进程内的一切资源。因此,线索比进程占用更少的资源,是更小的调度单位,可支持较细粒度的并行。 2. 线索调度比较灵活,可控制性强 • 进程调度是OS控制的、非智能的,DBMS无法干涉 3. 线索切换开销较小 • 线程共享同一地址空间 4. 线索间通信简单 • 线索可以借助全局变量名或局部变量名的指针进行通信。

  13. 11.3 DBMS系统结构 11.3.1 DBMS程序模块的组成 一、数据库定义方面的程序模块 • 模式、外模式、存储模式的定义模块。 • 安全性定义程序模块。 • 完整性定义程序模块。 二、数据操纵方面的程序模块 • 查询处理程序模块。 • 数据更性程序模块。 • 交互式查询程序模块。 • 嵌入式查询程序模块。

  14. 三、数据库运行管理方面的程序模块 • 主要有系统初启程序和安全性检查、完整性检查、并发控制、事务管理、运行日志管理等三、数据库运行管理方面的程序模块。 四、数据库组织、存储和管理方面的程序模块 • 有文件读写于维护程序、存取路径管理和维护程序、缓冲区管理程序等 五、数据库建立、维护和其他方面的程序模块 • 有数据库初始装入程序、转储程序、恢复程序、数据库重构造程序、数据转换程序、通信程序等。

  15. 11.3.2 DBMS的层次结构 应用层 语言编译处理层 数据存取层 数据存储层 操作系统 数据库

  16. 应用程序 用户工作区 (UWA) 11.3.3 DBMS运行过程示例 ⑾ 系统 缓冲区 ⑸ ⑽ ⑴ ⑿ ⑼ 数据库管理系统 (DBMS) 数据字典 ⑵ ⑶ ⑹ 数据库 ⑺ ⑻ 操作系统

  17. 11.4 语言处理 11.4.1 语言翻译处理层的任务和工作步骤 • 任务:把用户提交的交互式命令或嵌入式语言转换成对应的DBMS层内可执行的基本存取模块的调用序列。 • 数据库语言通常包括DDL、DML和DCL三部分。 • 在RDMBS中DD通常采用和普通数据同样的表示方式——表。它包括关系定义表、属性表、视图表、视图属性表、视图表达式表、用户表、存取权限表等。 • DD是DML语句处理、执行以及DBMS运行管理的基本依据。

  18. 关系定义表 属性表 关系名 属性名 别名 类型 建立者 长度 属性个数 记录内偏址 • RDBMS数据字典的部分示意图 记录长度 完整性定义指针 记录总数 属性表达式指针 属性定义指针 视图属性表 视图定义指针 属性名 视图名 视图表 基关系属性指针 表达式语法树 根指针 属性表达式设计 视图属性指针 基关系指针 视图表达式指针 用户权限表 用户名 数据对象名 用户表 数据对象类型 用户名 操作权限 口令 存取谓词

  19. DML语句 词法分析 语法分析 符号名转换 多元组接口 查询分析 数据库 数据字典 合法权检查 完整性检查 视图转换 查询检查 DBMS 内层基本 模块库 代数优化 存取路径优化 策略描述 查询优化 单元组接口 可执行的RDBMS内层基本存取模块的调用序列

  20. 源模块 DBRM Select … From… 修改后的 源模块 预编译器 11.4.2 解释方法 • 解释执行 • 与编译技术 11.4.3 预编译方法 数据库 数据字典 束缚(bind) 该语言的编译器 DBMS 内存基本 存取模块 目标模块 应用规划 内存 (装载模块) (应用规划) 连接 运行监督器 DB 数据存储管理器器 装载模块 (其它)

  21. 11.5 数据存取层 多元组接口(如SQL语句) 语言处理层:元组、关系、视图等逻辑数据结构 单元组接口 数据存取层:逻辑记录、逻辑块、逻辑存取路径 存储器接口 数据存储层:逻辑记录、块、块组成的系统缓冲区

  22. 11.5.1 存取层的系统结构 单元数据接口 记录存取、事 务管理子系统 控制信息 管理 排序/合并 子系统 存取路径 维护子系统 封锁子系统 日志登录子系统 数据存储层

  23. 11.5.2 存取层的功能子系统 一、记录存取、事务管理子系统 • 不涉及存储分配、存储结构及有关参数,只在数据的逻辑结构上操作,因而可以把各种物理实现形态隐藏起来。 二、日志登记子系统 三、控制信息管理子系统 四、排序/合并子系统 五、存取路径维护子系统 六、封锁子系统

  24. 11.6 缓冲区管理 数据库缓冲区 及上下接口 控制信息 第一页 第二页 数据库 • • • (操作:查找页、 申请页、 淘汰页) • • • 读(OS) 读(READBUF) 写(WRITEBUF) 写(OS) BUFFER

  25. 缓冲区管理示意图 (读操作) READBUF 在缓冲区中查找页 YES 找到? NO 有空页 在缓冲区中申请一页 无空页 按淘汰策略淘汰一页 从外存读入新页

  26. 11.7 数据库物理组织 一、数据字典(DD)的组织 二、数据及数据联系的组织 三、存取路径的组织 四、一个实际系统的例子 ORACLE系统(无论大型、中型或微机版本) • 数据库存储空间有RDBMS管理 • 数据库在逻辑上又一个或多个分区组成 • 分区中至少有一个系统分区,DD存储在该分区中 • 一个分区包含一个或多个数据库表 • 一个表只能属于一个分区,不能跨分区存放 • 一个分区物理上由一个或多个物理文件组成

  27. ORACLE DATABASE 1:n 分区 (partitions) 物理文件 (physical files) 数据库表 (database tables) 物理块 (physical blocks) 数据段 (data segment) 索引段 (index segment) Orcale数据库组织示意图 数据区间 (data extents) 索引区间 (index extents)

  28. 时间印(Timestamp) 下一块的地址 上一块的地址 块头信息(Header) 行号 该行长度 列a标识 列a长度 列a数据 列b标识 列b长度 列b数据 备用空间(由PCTFREE参数确定) Orcale数据块的格式

  29. 11.8 小结 • 本章主要讨论DBMS的基本功能,系统结构及主要的实现技术。 • 按照DBMS的层次结构依次介绍语言翻译处理层、数据存取层、缓冲区管理、数据物理组织等各个层次的主要任务和功能,涉及的主要概念和问题。 • 数据库领域过去所取得的主要成就,就是数据建模和计算技术。包括如何在外部存储设备上存储数据、如何分片;如何使用各种复杂的存取方法、缓冲策略和索引技术访问外部设备上的数据;数据库恢复、并发控制、完整性和安全性的实施、查询处理和优化技术等。

More Related