当前位置:文档之家› 第六章数据库管理系统

第六章数据库管理系统


AP1 ……. APi
U1 …… Ui
SGA DBMS …DBMS 进程服务池
O.S.
DB
文件
DBMS系统结构
DBMS程序模块的组成
数据库定义
DBMS 功能模块
数据库存取 数据库运行处理
数据组织、 存储和管理
数据库建立、维护 和其他
DBMS的进程组织方式
z N+1方案:一个DBMS进程对应所有用户进程
z N+M方案:M个DBMS进程对应N个用户进程
• DBMS进程不负责多任务调度,用户的数据库请求动态 地分配给某个DBMS进程处理
• 几个用户轮流使用一个DBMS服务,提高内存资源利用 率
• 进程分派程序和DBMS进程动态增减增加了系统开销
• 进程分派程序可能成为瓶颈
AP1
APi
…….
U1
……
Ui
DBMS层次结构
z DBMS的运行过程示例
(11) 系统缓冲区
(10) (5)
(9) (8)
应用程序 用户工作区
(1) (12)
(2)
数据库管理系统 (4)
数据字典 (3) (6)
(7)
数据库
操作系统
语言处理层
关系定义表
关系名 别名 建立者 属性个数 记录长度 记录总数 属性定义指针 视图定义指针
SGA
AP1 …….
DBMS
APi DBMS
U1 …… Ui
O.S.
DB
文件
DBMS的进程组织方式
z N+1方案:一个DBMS进程对应所有用户进程
AP1 ……. APi DBMS
U1 …… Ui
OS
DB
文件
许多DBMS厂商采用该方法
DBMS的进程组织方式
z N+M方案:M个DBMS进程对应N个用户进程 (M<N)
• 类似服务器,是一个多任务的数据库系统,不需SGA • DBMS设计复杂(多任务处理机制和调度算法) • 一个DBMS进程可能会成为瓶颈 • 用操作系统级消息机制实现单进程与多进程间的数据传送 • 采用多线程技术实现N+1方案
AP1
APi
…….
DBMS
U1 …… Ui
OS
DB
文件
DBMS的进程组织方式
• DBMS为应用程序的子程序,不需进程切换,减少运行时间
• 内存需求量大,内存中存在多个副本,使系统性能下降 • 实现简单,不需考虑用户进程和DBMS进程间的通讯
用户较少的小型DBMS可以采用该方案
Shared Global Area
AP1 DBMS …….
APi DBMS
U1 …… Ui
SGA
O.S.
DBMS 功能模块
数据库定义 数据库存取 数据库运行处理
¾文件读写 ¾存取路径管理与维护 ¾缓冲区管理等
数据组织、 存储和管理
数据库建立、维护 和其他
DBMS系统结构
DBMS程序模块的组成
¾系统初启程序
数据库定义
初始化DBMS程序,建立DBMS
DBMS 功能模块
数据库存取 数据库运行处理
系统缓冲区,系统工作区, 打开数据字典等 ¾管理程序
目标
基本功能
•友好的用户界面 •可靠、易用、立即反馈、多样
•功能完备 •效率高 •结构清晰 •开放性—符合标准和规范
•数据库定义 •数据存取 •数据库运行管理 •数据组织、存取和管理 •数据库的建立和维护
•…
应用程序1 应用程序2
数据库 管理系统
数据库

人机交互
DBMS的进程组织方式
z N方案:DBMS与应用程序相融合的方案
DB
日志的缓冲块、
封锁控制块
U1 …… Ui 文件
DBMS的进程组织方式
z N方案:DBMS冗余代码 Æ 希望DBMS的代码段在内存中共享
z 2N方案:一个DBMS进程对应一个用户进程
Shared Global Area
SGA
AP1 ……. DBMS
APi DBMS
U1 …… Ui
O.S.
DB
文件
数据库管理系统
DB
文件
DBMS的进程组织方式
z 2N方案:一个DBMS进程对应一个用户进程
– DBMS进程为用户进程的影子进程
– 用户进程与影子进程、各个影子进程间需通信 – 操作系统负担增加(时间:进程间切换,空间:N个过
程控制块和数据段与栈段空间) 代码段可以共享
– 不适合大量用户的应用
Shared Global Area
第六章 数据库管理系统
DBMS概述 DBMS的进程结构和多线程机制 DBMS系统结构 语言处理
数据字典 DB2语言处理示例
DBMS的进程组织方式
z N方案:DBMS与应用程序相融合的方案
AP1 DBMS
…….
APi DBMS
Shared SGA
Global
O.S.
Area
存放字典定义、 数据和索引、
DBMS系统结构
DBMS程序模块的组成
DBMS 功能模块
数据库定义
数据库存取
数据库运行处理
数据组织、 存储和管理
数据库建立、维护 和其他
¾查询处理 ¾数据更新 ¾交互式查询 ¾嵌入式查询
语法分析、语义检查, 生成内部表示-语法树, 查询优化,生成查询计划, 实现数据存取操作。
DBMS系统结构
DBMS程序模块的组成
数据存取层:将上层集合操作转换成单记录 操作。完成基本操作,同时包括封锁,存取 路径维护、并发控制、事务管理等。
操作系统
数据库
DBMS层次结构
数据存储层:处理数据页和系统缓冲区。执 行文件的逻辑打开、关闭、读页、写页、缓 冲区读写等。包括缓冲区管理、内外存交 换、外存的数据管理等。
操作系统:执行物理文件的读写。将逻辑读
¾系统初始装入程序 ¾转储程序 ¾恢复程序 ¾数据库重构造程序 ¾数据转换程序 ¾通讯程序等
DBMS层次结构
应用层:DBMS外,各种数据库应用。
应用层 语言翻译处理层
语言翻译处理层:处理数据库语言,如 SQL,对各类语句进行语法分析、授权检 查、完整性检查、查询优化等,生成可执行 代码。
数据存取层 数据存储层
数据组织、 存储和管理
安全性控制,完整性控制, 并发控制,事务管理, 运行日志管理等
数据库建立、维护 ¾运行监控程序
和其他
监视数据库操作,控制管理
数据库资源,处理多用户并发操作

DBMS系统结构ห้องสมุดไป่ตู้
DBMS程序模块的组成
DBMS 功能模块
数据库定义
数据库存取
数据库运行处理
数据组织、 存储和管理
数据库建立、维护 和其他
SGA
DBMS … DBMS 进程服务池
O.S.
DB
文件
DBMS系统结构
DBMS程序模块的组成
DBMS 功能模块
数据库定义 数据库存取 数据库运行处理
数据组织、 存储和管理
¾模式、外模式、存储模式定义 ¾安全性定义 ¾完整性定义
接收相应定义,语法分析、 语义检查,翻译为内部格式 存储在数据字典中
数据库建立、维护 和其他
相关主题