数据库系统:第七章 系统实现技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章 系统实现技术 7.2 事 务
补充: 事务的划分 (a)用户没有显式定义,则由DBMS按缺省规定自动划分 (b)用SQL语句显式控制一个事务的开始和终止
定义事务的有关语句:
START TRANSACTION 显式地定义一个事务的开始 COMMIT 提交事务的所有操作,成功结束事务,
使该事务对数据库的改变对其它事务开放 SAVEPOINT <保留点名> 在当前事务的当前点建立保留点
第七章 系统实现技术
7.1 系统目录 7.2 事务 7.3 数据库的恢复 7.4 数据库的并发控制 7.5 并发事务的可串行化和可恢复性(略) 7.6 数据库的完整性 7.7 数据库的安全性
第七章 系统实现技术
第七章 系统实现技术
7.1 系统目录
元数据:数据库的定义和描述信息←三级模式、两级映像 系统目录(或数据目录)与数据字典
◆主要由DBMS管理和使用(查询、更新、维护),
是被频繁访问又非常重要的数据, 几乎DBMS 每一部分的运行都离不开它 ◆ DBMS一般不允许用户对数据目录进行更新操作 只允许用户对它进行受控制的查询。 ◆ 数据目录本身不能用SQL语句定义, 只能由系统定义。 (数据目录未定义,任何SQL语句都无法执行) 在初始化时由系统生成,为DBMS服务,由DBMS来维护。






第七章 系统实现技术 7.1 系统目录
SYSVIEW: 视图名
视图定义


GRADE_AVG
SELECT SNAME, AVG(GRADE) FROM SC,STUDENT WHERE SC.SNO=STUDENT.SNO GROUP BY SNAME;

第七章 系统实现技术 7.1 系统目录
关系名
属性名
属性类型
主键 成员
外键 成员
外键引 自关系
不同属 NULL 性值数
缺省值
SYSTAB 关系名 Char(10) Yes No
No
SYSTAB 属性数 Integer No No
No
… … … … … … … … …
SC
SNO Char(7) Yes Yes Student No
5
SC
CNO Char(6) Yes Yes Course No
事务的所有操作“要么全做,要么全不做”
在故障恢复时要消除未完成事务对数据库的影响
是数据库系统本身的职责,由DBMS事务管理子系统实现
第七章 系统实现技术 7.2 事 务
(b) 一致性(Consistency) : 事务独立执行的结果应保持数据库的一致性
* 数据库的一致性状态――DB中的数据满足完整性约束 * 完整性约束由编写事务的应用程序员创建,
第七章 系统实现技术 7.2 事 务
二、 事务的 ACID特性 ――保证数据库中数据的正确性 P253
例如:银行数据库中一转帐事务T,从A帐号转100元到B帐号
read(A);
A:=A-100;
Hale Waihona Puke Baidu
write(A); read(B);
不一致状态 一个事务
B:=B+100;
write(B);
一致状态
(a) 原子性(Atomicity):
SYSVWATR: 视图名
视图属性名 视图属性序号



GRADE_AVG
SNAME
1
GRADE_AVG AVGGRADE
2



第七章 系统实现技术 7.1 系统目录
2. 数据目录与普通表的区别:
数据目录也是表,可以用数据库语言的语句对其查询 但其作用、内容、定义方法、使用范围与一般数据不同:
由DBMS的并发控制子系统实现
第七章 系统实现技术 7.1 系统目录
二、 系统目录和DBMS各子系统的联系 自学
DDL编译程序 查询和DML的分析程序和校验程序 查询和DML的编译程序 查询和DML的优化程序 授权和安全性检查程序 查询和DML命令的外部级到概念级的映象
第七章 系统实现技术 7.1 系统目录
第七章 系统实现技术
由DBMS完整性子系统测试
例如:银行数据库中一转帐事务T,从A帐号转100元到B帐号
read(A);
A:=A-100;
write(A);
read(B);
B:=B+100;
write(B);
一致状态
第七章 系统实现技术 7.2 事 务
(c) 隔离性(Isolation): 多个事务并发执行时,系统应保证与这些事务 先后单独执行时的结果一样
7.1 系统目录 7.2 事务 7.3 数据库的恢复 7.4 数据库的并发控制 7.5 并发事务的可串行化和可恢复性(略) 7.6 数据库的完整性 7.7 数据库的安全性
7.2 事 务
一、 事务的定义 事务(transaction):是构成单一逻辑工作单元的操作集合
是DBMS执行的工作单位 由有限的数据库操作序列组成 一个事务由应用程序中的一组操作序列组成 程序可以是一组数据库语言的语句 或是宿主语言的程序 一个应用程序的运行包含多个事务 同一程序的几次独立执行将产生不同的事务
5
SC GRADE Dec(4,1) No No
Yes
8
NULL
第七章 系统实现技术 7.1 系统目录
SYSIDX: 关系名 索引名 成员属性 索引类型 属性序号 升、降序






SC SC _INDEX SNO UNIQUE 1 SC SC _INDEX CNO UNIQUE 2
ASC DESC
第七章 系统实现技术 7.1 系统目录
一般内容举例:↘
SYSTAB:
关系名 属性数 元组大小 元组数 表创建者 表所有者
SYSTAB
6
82
SYS DBA
… …
… … …
SYSVWATR 3
22
SC
3
18
SYS DBA 10 USER1 USER1
第七章 系统实现技术 7.1 系统目录
SYSCOL:
数据目录--DATA CATALOG(DIRECTORY) 是DBMS的一个组成部分,面向系统
数据字典--DATA DICTIONARY 是用DBMS或专用软件实现的一个应用系统 面向数据库设计人员和用户 用来管理元数据
第七章 系统实现技术 7.1 系统目录
一. RDBMS的系统目录 1.存储的内容 • 关系名,属性名,属性域(数据类型) • 各种约束,主键,辅助键(候补键),外键,空/非空 • 视图的外部级描述,存储结构和索引等内部级描述 • 安全性和授权规则 • 数据完整性规则 • 运行统计信息:用于查询优化的统计数据
相关文档
最新文档