第十一章 数据库管理系统
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

第十一章 数据库管理系统 PowerPoint PPT Presentation


  • 130 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

第十一章 数据库管理系统

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


3715046

第十一章 数据库管理系统

11.1 DBMS概述

11.1.1 DBMS的目标

  • DBMS是介于用户和OS之间的一组软件。

    1. 用户界面友好:用户界面应具有可靠性、易用性、立即反馈和多样性等特性。

    2. 功能完备:数据库定义、数据库数据存取、数据库运行管理、数据库组织和存储管理、数据库的建立和维护等。

    3. 效率高:计算机内部资源的利用率和DBNS本身的运行效率。

    4. 结构清晰

    5. 开放性


11 1 2 dbms

11.1.2 DBMS的基本功能

  • DBMS主要是实现对共享数据有效的组织、管理和存取。

    1.数据库定义

    2.数据存取

    3.数据库运行管理

    4.数据组织、存储和管理

    5.数据库的建立和维护

    6.其它功能

    通信功能,数据转换功能


11 1 3 dbms

11.1.3 DBMS与操作系统

  • DBMS是建立在OS之上的软件系统,是OS的用户。

  • DBMS对共享数据的组织、管理和存取需要OS的支持。

  • DBMS遇到创建和撤销进程、进程通信、读写磁盘、分配内存等要求时必须请求OS服务。

  • 不同OS提供不同的服务方式,导致DBMS在实现技术上和实现方法上的诸多差异。对于同一OS,DBMS也可以由不同的实现选择。


11 1 4 dbms

11.1.4 DBMS和第四代应用开发环境

屏幕表格

开发工具

SQL*FORMS

用户友好接口

SQL*PLUS

报表编写程序

SQL*REPORT

菜单生成

SQL*MENU

SQL

执行程序

图形软件

SQL*GRAPH

预编译

‘PRO’ORACLE

ORACLE内核

关系数据库

管理系统

电子表格

SQL*CALC

数据通信与

分布软件

LINK,SQL*STAR

数据转换

ODL

数据库与

数据字典


11 2 dbms

11.2 DBMS的进程结构和多线索机制

  • 应用程序通过DBMS,DBMS通过OS,与数据库中的数据打交道。以及都必须进入某个具体的OS环境。

    11.2.1 N方案:DBMS与应用程序相融合的方案

AP1

AP2

APi

U1

Ui

DBMS

DBMS

DBMS

SGA

OS

DB

文件


3715046

AP1

AP2

APi

U1

Ui

11.2.2 2N方案:一个DBMS进程对应一个用户进程

DBMS

DBMS

DBMS

SGA

OS

DB

文件


3715046

AP1

AP2

APi

U1

Ui

11.2.3 N+1方案:一个DBMS进程对应所有用户进程

DBMS

SGA

OS

DB

文件


3715046

AP1

AP2

APi

U1

Ui

11.2.4 N+M方案:M个DBMS进程对应N个用户进程

进 程

服务池

SGA

DBMS

DBMS

OS

DB

文件


3715046

11.2.5 多线索(Multi_Threaded) DBMS的概念

一、线程的概念

  • 在OS中,将进程的概念一分为二,Task是申请资源的最小单位,而Thread是调度和运行的最小单位。一个Task中可以有多个Thread,它们共享Task的所有资源,共同完成一个任务。一个Thread只能存在于某个Task中。在多处理机上,这些Thread可真正并行地执行。

  • 多个线程运行于同一实体(任务或进程),并共享该实体所拥有的所有资源。

  • 线程的基本概念就是将进程中的程序代码与进程所占资源相分离,从而在一个地址空间可以运行多个指令流。


3715046

UNIX中进程的概念 MACH中Task与Thread概念

Thread

Task

PC,PS,SP

Stack

Register

(运行资源)

运行资源

进程、Task与Thread

进程控制信息

存储管理信息

信号处理信息

文件指针管理

资源占用统计

资源控制信息

进程控制信息

存储管理信息

信号处理信息

文件指针管理

资源占用统计

资源控制信息


3715046

二、多线索(Multi_Threaded)DBMS

  • 数据库系统中的“线索”概念借鉴了OS”线程”概念的含义:整个DBMS可以看作一个Task,当有一个用户申请数据库服务时,Task分配至少一个Thread为之服务,多个Thread并行工作,共享资源。

  • 一般地讲,DBMS中的线索是DBMS的一个执行流,它服务于整个DBMS系统或DBMS的某个用户;DBMS服务器相应客户请求是通过为每个用户创建线索来完成。

  • DBMS的各个线索能在逻辑上并行执行,并共存于一个进程,共享DBMS的所有资源;线索是DBMS的调度单位,服务器进程能按一定的调度算法调度用户请求。


3715046

三、线索与进程的比较

1. 线索比进程占用较少的资源

  • 线索是程序中的一串指令流,同一进程内的多个线索共享该进程内的一切资源。因此,线索比进程占用更少的资源,是更小的调度单位,可支持较细粒度的并行。

    2. 线索调度比较灵活,可控制性强

  • 进程调度是OS控制的、非智能的,DBMS无法干涉

    3. 线索切换开销较小

  • 线程共享同一地址空间

    4. 线索间通信简单

  • 线索可以借助全局变量名或局部变量名的指针进行通信。


11 3 dbms

11.3 DBMS系统结构

11.3.1 DBMS程序模块的组成

一、数据库定义方面的程序模块

  • 模式、外模式、存储模式的定义模块。

  • 安全性定义程序模块。

  • 完整性定义程序模块。

    二、数据操纵方面的程序模块

  • 查询处理程序模块。

  • 数据更性程序模块。

  • 交互式查询程序模块。

  • 嵌入式查询程序模块。


3715046

三、数据库运行管理方面的程序模块

  • 主要有系统初启程序和安全性检查、完整性检查、并发控制、事务管理、运行日志管理等三、数据库运行管理方面的程序模块。

    四、数据库组织、存储和管理方面的程序模块

  • 有文件读写于维护程序、存取路径管理和维护程序、缓冲区管理程序等

    五、数据库建立、维护和其他方面的程序模块

  • 有数据库初始装入程序、转储程序、恢复程序、数据库重构造程序、数据转换程序、通信程序等。


11 3 2 dbms

11.3.2 DBMS的层次结构

应用层

语言编译处理层

数据存取层

数据存储层

操作系统

数据库


11 3 3 dbms

应用程序

用户工作区

(UWA)

11.3.3 DBMS运行过程示例

系统

缓冲区

数据库管理系统

(DBMS)

数据字典

数据库

操作系统


3715046

11.4 语言处理

11.4.1 语言翻译处理层的任务和工作步骤

  • 任务:把用户提交的交互式命令或嵌入式语言转换成对应的DBMS层内可执行的基本存取模块的调用序列。

  • 数据库语言通常包括DDL、DML和DCL三部分。

  • 在RDMBS中DD通常采用和普通数据同样的表示方式——表。它包括关系定义表、属性表、视图表、视图属性表、视图表达式表、用户表、存取权限表等。

  • DD是DML语句处理、执行以及DBMS运行管理的基本依据。


3715046

关系定义表

属性表

关系名

属性名

别名

类型

建立者

长度

属性个数

记录内偏址

  • RDBMS数据字典的部分示意图

记录长度

完整性定义指针

记录总数

属性表达式指针

属性定义指针

视图属性表

视图定义指针

属性名

视图名

视图表

基关系属性指针

表达式语法树

根指针

属性表达式设计

视图属性指针

基关系指针

视图表达式指针

用户权限表

用户名

数据对象名

用户表

数据对象类型

用户名

操作权限

口令

存取谓词


3715046

DML语句

词法分析

语法分析

符号名转换

多元组接口

查询分析

数据库

数据字典

合法权检查

完整性检查

视图转换

查询检查

DBMS

内层基本

模块库

代数优化

存取路径优化

策略描述

查询优化

单元组接口

可执行的RDBMS内层基本存取模块的调用序列


3715046

源模块

DBRM

Select …

From…

修改后的

源模块

预编译器

11.4.2 解释方法

  • 解释执行

  • 与编译技术

    11.4.3 预编译方法

数据库

数据字典

束缚(bind)

该语言的编译器

DBMS

内存基本

存取模块

目标模块

应用规划

内存

(装载模块)

(应用规划)

连接

运行监督器

DB

数据存储管理器器

装载模块

(其它)


3715046

11.5 数据存取层

多元组接口(如SQL语句)

语言处理层:元组、关系、视图等逻辑数据结构

单元组接口

数据存取层:逻辑记录、逻辑块、逻辑存取路径

存储器接口

数据存储层:逻辑记录、块、块组成的系统缓冲区


11 5 1

11.5.1 存取层的系统结构

单元数据接口

记录存取、事

务管理子系统

控制信息

管理

排序/合并

子系统

存取路径

维护子系统

封锁子系统

日志登录子系统

数据存储层


11 5 2

11.5.2 存取层的功能子系统

一、记录存取、事务管理子系统

  • 不涉及存储分配、存储结构及有关参数,只在数据的逻辑结构上操作,因而可以把各种物理实现形态隐藏起来。

    二、日志登记子系统

    三、控制信息管理子系统

    四、排序/合并子系统

    五、存取路径维护子系统

    六、封锁子系统


3715046

11.6 缓冲区管理

数据库缓冲区

及上下接口

控制信息

第一页

第二页

数据库

(操作:查找页、

申请页、

淘汰页)

读(OS)

读(READBUF)

写(WRITEBUF)

写(OS)

BUFFER


3715046

缓冲区管理示意图

(读操作)

READBUF

在缓冲区中查找页

YES

找到?

NO

有空页

在缓冲区中申请一页

无空页

按淘汰策略淘汰一页

从外存读入新页


3715046

11.7 数据库物理组织

一、数据字典(DD)的组织

二、数据及数据联系的组织

三、存取路径的组织

四、一个实际系统的例子

ORACLE系统(无论大型、中型或微机版本)

  • 数据库存储空间有RDBMS管理

  • 数据库在逻辑上又一个或多个分区组成

  • 分区中至少有一个系统分区,DD存储在该分区中

  • 一个分区包含一个或多个数据库表

  • 一个表只能属于一个分区,不能跨分区存放

  • 一个分区物理上由一个或多个物理文件组成


3715046

ORACLE DATABASE

1:n

分区

(partitions)

物理文件

(physical files)

数据库表

(database tables)

物理块

(physical blocks)

数据段

(data segment)

索引段

(index segment)

Orcale数据库组织示意图

数据区间

(data extents)

索引区间

(index extents)


3715046

时间印(Timestamp)

下一块的地址

上一块的地址

块头信息(Header)

行号

该行长度

列a标识

列a长度

列a数据

列b标识

列b长度

列b数据

备用空间(由PCTFREE参数确定)

Orcale数据块的格式


3715046

11.8 小结

  • 本章主要讨论DBMS的基本功能,系统结构及主要的实现技术。

  • 按照DBMS的层次结构依次介绍语言翻译处理层、数据存取层、缓冲区管理、数据物理组织等各个层次的主要任务和功能,涉及的主要概念和问题。

  • 数据库领域过去所取得的主要成就,就是数据建模和计算技术。包括如何在外部存储设备上存储数据、如何分片;如何使用各种复杂的存取方法、缓冲策略和索引技术访问外部设备上的数据;数据库恢复、并发控制、完整性和安全性的实施、查询处理和优化技术等。


  • Login