当前位置:
文档之家› 第五章数据库设计和模型.ppt
第五章数据库设计和模型.ppt
系统实现技术
1
本章重要概念(1)
(1)系统目录及其和各子系统的联系。 (2)事务的定义,和的 语 义 , 事 务 的 性 质 , 事务的状态 变迁图。 (3)存储器类型,稳定存储器的实现, 数据传
送过程。 (4)恢复的定义、基本原则和实现方法,
故障的类型,检查点技术,和 操作,运行 记录优先原则。
标志事务开始执行。 和或一起保证了事务的四个性质。 对数据库访问的两个基本操作:读和写,但
完成写操作后,数据可能暂时放在内存中, 而非直接写进数据库。
14
事务的状态变迁图
READ/WRITE
活动状态
局部提交 状态
提交状态
失败状态
异常中止状态
图7.4 事务的状态变迁图
15
主要内容
7.1 系统目录 7.2 事务 7.3 数据库的恢复 7.4 数据库的并发控制 7.5 并发事务的可串行化和可恢复性 7.6 数据库的完整性 7.7 数据库的安全性 小结
REL_NAME KEY_NUMBER MEMBER_ATTR
(b)存储索引信息的目录关系
VIEW_QUERIER
VIEW_NAME
QUERY
VIEW_ATTRIBUTES
VIEW_NAME ATTR_NAME
ATTR_NUM
(c)存储视图信息的目录关系
7
系统目录的扩充图
关系名
属性名
数据类型
R_A
(B):把缓冲块B的 内容传送到磁盘中恰当 的物理块中
input(A)
A
output(B)
B
B
内存
磁盘
块操作
18
数据访问
事务
包含x的块 Bx存在, read(X)
xi
请求
开
read(X)
始
write(X) X
分配 事务工作区
包含x的块 Bx存在, input(B)
磁盘
系统
扫描内存
磁盘缓冲区
19
恢复和原子性的联系
16
存储器类型
易失性存储器( ) 内存、存储器 非易失性存储器( ) 磁盘和磁带 稳定存储器( ) 这是一个理论上的概念。存储在稳定存储器
中的信息是决不会丢失的。 稳定存储器的实现 数据备份 数据银行
17
块和块的操作
块、物理块和缓冲块
块的操作
(A):把物理块A的 内容传送到内存的缓冲 块中。
10
事务的定义
定义7.1 事务()是构成单一逻辑工作单元的操作 集合。 在程序中,事务以 语句开始,以语句或语句结束。 语句表示事务执行成功地结束(提交),此时告诉 系统,数据库要进入一个新的正确状态,该事务对数 据库的所有更新都已交付实施(写入磁盘)。 语句表示事务执行不成功地结束(应该“回退”), 此时告诉系统,已发生错误,数据库可能处在不正确 的状态,该事务对数据库的所有更新必须被撤消,数 据库应恢复该事务到初始状态。
11
事务的性质
性质 原子性():事务是一个不可分割的工作单元。 一致性():即数据不会应事务的执行而遭受破
坏。 隔离性():在多个事务并发执行时,系统应保
证与这些事务先后单独执行时的结果一样。 持久性():一个事务一旦完成全部操作后,它
对数据库的所有更新应永久地反映在数据库 中。
12
例: 事务及其性质
关系名,属性名,属性域(数据类型) 各种约束,主键,辅助键,外键,空值/
非空值 视图的外部级描述,存储结构和索引的
内部级描述 安全性和授权规则 数据完整性规则
注意:这些数据都以表格的形式存在
6
系统目录内容
REL_AND_ATTR_CATALOG
REL_NAM ATTR_NA ATTR_TYP MEMBER_
属性 I_A
K_A 键类型 键编号
K_I
键 外键
R_K
索引
关系 d
查询
基本关系
视图关系
R_F V_A
R_I
属性名
视图属性
索引名
索引类型
属性序号
8
7.1.3 系统目录和各子系统的联系
DML分析校 验程序
DDL编译程序
处理和检查三级 模式两级映象
检查查询涉及的 关系名属性名等
DML编译程序
DML命令的外 部级到概念级
2
本章重要概念(2)
(5)并发操作带来的三个问题,X锁、协议、 协议,S锁、协议、协议,活锁、饿死和死锁, 并发调度,串行调度,并发调度的可串行化,两 段封锁法,中事务的存取模式和隔离级别。 (6)完整性的定义,完整性子系统的功能,完 整性规则的组成。中的三大类完整性约束,3中 的触发器技术。
(7)安全性的定义、级别,权限,中的安全 性机制,几种常用的安全性措施,自然环境的安 全性。
E
ME
E
OF_PK
关系
属性
属性
主
外
名
名
类型
键
键
MEMBER_ OF_FK
FK_RELAT ION
外键 关系
RELATION_KEYS
REL_NAME
INDEX_NAM E
(a)存储键信息的目录关系
MEMBER_ATT R
INDEX_TYPE
ATTR_NO
ASC_DESC
RELATION_INDEXES
假设没有事 务的原子性, 那么重新启 动事务时, 要么A因为 再执行一遍 而为1800, 要么B因从 未执行而保
持原值。
银行转账系统 A=2000 B=1000
output(A)
DBMS
映象 将查询中的视图由外
部级导到概念级映象
处理和检查权限
将查询涉及的概念 模式转换成内模式, 产生访问计划
根据物理结构优 化查询执行方案
授权和安全程序 DML优化程序
9
主要内容
7.1 系统目录 7.2 事务 7.3 数据库的恢复 7.4 数据库的并发控制 7.5 并发事务的可串行化和可恢复性 7.6 数据库的完整性 7.7 数据库的安全性 小结
问题:设银行数据库中 有一转账事务T,从 账号A转一笔款子 ($50)到账号B。
相应的操作如下: (A) ;
–50 ;
(A);
(B) ;
50 ;
(B).
组合成一个事务:
; (A) ; 50 ; (A); (A<0) ; {(B); 50 ; (B); ;}
13
事务提交和事务撤销
事务的所有操作都完成了,则事务提交(), 否则事务撤销()。
3
主要内容和学习要求
7.1 系统目录 5 并发事务的可串行化和可恢复性 7.6 数据库的完整性 7.7 数据库的安全性 小结
4
7.1 系统目录
什么是系统目录 系统目录的重要性 系统目录的内容 元数据
5
7.1.1 系统目录的存储内容