事务的特性包括:
- 原子性:事务是一个不可分割的工作单位(操作序列),事务中的操作要么全部成功,要么全部失败。
- 一致性:事务对数据完整性约束的遵循。
- 隔离性 :一个事务的执行不能被其他事务干扰。
- 持久性:不管系统是否发生了故障,事务处理的结果都是永久的。
事务是恢复和并发控制的基本单位。
数据库中的表:基本表或视图。
视图(是基本表导出的虚表,数据库中实际存放的是视图的定义。)是定义在基本表或视图之上的,对视图的一切操作最终要转换为对( 基本表)的操作。
关系数据模型的数据完整性规则包括
- 实体完整性:关系中主码的取值必须唯一且非空。
违反时拒绝。
- 参照完整性(表与表之间的联系):关系中不允许引用不存在的实体。
违反时拒绝或者置空值。
- 用户定义的完整性:某一具体关系数据库的约束条件。
违反时拒绝。
关系数据模型的三个组成部分:完整性规则,数据结构,数据操作。
E-R方法是用来描述现实世界的概念模型。
E-R方法:实体,属性和联系。
关系的属性必须是不可再分的。
E-R图:菱形框(联系),椭圆形(属性),矩形框(实体)。
并发控制的主要方法是采用( 封锁)机制。
在并行处理中,若干事务相互等待对方释放封锁,称为系统进入(死锁 )状态。
系统死锁属于事务内部故障.
死锁产生的条件:
- 永久资源一次只能被一个进程独占;
- 进程独占某资源时,在其未使用之前不能被其他进程夺走;
- 资源的循环等待。
预防死锁的方法有一次封锁法和顺序封锁法。
检测死锁的方法有等待图法和超时法。
解决活锁问题排队等待法(先来先服务的方式解除活锁)。
一级封锁协议可解决( 丢失修改)的问题。
二级封锁协议可以解决(丢失修改,读脏数据)问题。
三级封锁协议可解决:丢失修改、不可重复读和(读脏数据 )的问题。
定义:
一级封锁协议是: 事务 T在修改数据R之前必须先对其加X锁,直到事务结束才释放。
二级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。
三级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
SQL(结构化查询语言)语言提供数据库定义、数据查询、( 数据操纵)、数据控制等功能。
传统的集合运算:并 差 交。
关系代数中专门的关系运算包括:
选择:选择关系中行的子集,即选择满足条件的元组.
投影:取出关系中的某些列,并消去重复的元组。(SELECT能够实现)