当前位置:文档之家› 数据库系统:第七章 系统实现技术

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

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






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


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

第七章 系统实现技术 7.1 系统目录
第七章 系统实现技术
7.1 系统目录 7.2 事务 7.3 数据库的恢复 7.4 数据库的并发控制 7.5 并发事务的可串行化和可恢复性(略) 7.6 数据库的完整性 7.7 数据库的安全性
第七章 系统实现技术
第七章 系统实现技术
7.1 系统目录
元数据:数据库的定义和描述信息←三级模式、两级映像 系统目录(或数据目录)与数据字典
第七章 系统实现技术 7.1 系统目录
二、 系统目录和DBMS各子系统的联系 自学
DDL编译程序 查询和DML的分析程序和校验程序 查询和DML的编译程序 查询和DML的优化程序 授权和安全性检查程序 查询和DML命令的外部级到概念级的映象
第七章 系统实现技术 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管理和使用(查询、更新、维护),
是被频繁访问又非常重要的数据, 几乎DBMS 每一部分的运行都离不开它 ◆ DBMS一般不允许用户对数据目录进行更新操作 只允许用户对它进行受控制的查询。 ◆ 数据目录本身不能用SQL语句定义, 只能由系统定义。 (数据目录未定义,任何SQL语句都无法执行) 在初始化时由系统生成,为DBMS服务,由DBMS来维护。
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
事务的所有操作“要么全做,要么全不做”
在故障恢复时要消除未完成事务对数据库的影响
是数据库系统本身的职责,由DBMS事务管理子系统实现
第七章 系统实现技术 7.2 事 务
(b) 一致性(Consistency) : 事务独立执行的结果应保持数据库的一致性
* 数据库的一致性状态――DB中的数据满足完整性约束 * 完整性约束由编写事务的应用程序员创建,
第七章 系统实现技术 7.2 事 务
二、 事务的 ACID特性 ――保证数据库中数据的正确性 P253
例如:银行数据库中一转帐事务T,从A帐号转100元到B帐号
read(A);
A:=A-100;
write(A); read(B);
不一致状态 一个事务
B:=B+100;
write(B);
一致状态
(a) 原子性(Atomicity):
SYSVWATR: 视图名
视图属性名 视图属性序号……ຫໍສະໝຸດ …GRADE_AVG
SNAME
1
GRADE_AVG AVGGRADE
2



第七章 系统实现技术 7.1 系统目录
2. 数据目录与普通表的区别:
数据目录也是表,可以用数据库语言的语句对其查询 但其作用、内容、定义方法、使用范围与一般数据不同:
由DBMS完整性子系统测试
例如:银行数据库中一转帐事务T,从A帐号转100元到B帐号
read(A);
A:=A-100;
write(A);
read(B);
B:=B+100;
write(B);
一致状态
第七章 系统实现技术 7.2 事 务
(c) 隔离性(Isolation): 多个事务并发执行时,系统应保证与这些事务 先后单独执行时的结果一样
由DBMS的并发控制子系统实现
第七章 系统实现技术 7.2 事 务
补充: 事务的划分 (a)用户没有显式定义,则由DBMS按缺省规定自动划分 (b)用SQL语句显式控制一个事务的开始和终止
定义事务的有关语句:
START TRANSACTION 显式地定义一个事务的开始 COMMIT 提交事务的所有操作,成功结束事务,
使该事务对数据库的改变对其它事务开放 SAVEPOINT <保留点名> 在当前事务的当前点建立保留点
相关主题