基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁)所谓X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据A,所谓S锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,而不能加X锁,直到T释放A上的S锁
若事务T对数据对象A加了S锁,则T就可以对A进行读取,但不能进行更新(S锁因此又称为读锁),在T释放A上的S锁以前,其他事务可以再对A加S锁,但不能加X锁,从而可以读取A,但不能更新A
第1部分 概念篇
第1章 数据库基本概念
1 1 数据管理技术的发展
1 1 1 人工管理阶段
1 1 2 文件系统阶段
1 1 3 数据库阶段
1 1 4 高级数据库阶段
1 1 5 数据库的基本术语
1 2 数据描述
1 2 1 概念设计中的数据描述
1 2 2 逻辑设计中的数据描述
1 2 3 存储介质层次及数据描述
1 2 4 数据联系的描述
1 3 数据抽象的级别
1 3 1 数据抽象的过程
1 3 2 概念模型
1 3 3 逻辑模型
1 3 4 外部模型
1 3 5 内部模型
1 3 6 高度的数据独立性
1 4 数据库管理系统
1 4 1 DBMS的工作模式
1 4 2 DBMS的主要功能
1 5 数据库系统
1 5 1 DBS的组成
1 5 2 DBS的全局结构
1 5 3 应用程序的演变
1 5 4 DBS的效益
1 6 小结
习题1
第2部分 关系篇
第2章 关系运算理论
2 1 关系模型的基本概念
2 1 1 基本术语
2 1 2 关系的定义和性质
2 1 3 三类完整性规则
2 1 4 关系模型的形式定义和优点
2 1 5 关系查询语言和关系运算
2 2 关系代数
2 2 1 关系代数的5个基本 *** 作
2 2 2 关系代数的4个组合 *** 作
2 2 3 关系代数运算的应用实例
2 2 4 关系代数的两个扩充 *** 作
2 3 关系演算
2 3 1 元组关系演算
2 3 2 域关系演算
2 3 3 关系运算的安全约束和等价性
2 4 关系逻辑
2 4 1 关系逻辑的成分
2 4 2 从关系代数到关系逻辑的转换
2 4 3 递归过程
2 4 4 关系逻辑与关系代数的差异
2 5 关系代数表达式的优化
2 5 1 关系代数表达式的优化问题
2 5 2 关系代数表达式的等价变换规则
2 5 3 关系代数表达式的启发式优化算法
2 6 小结
习题2
第3章 SQL语言
3 1 SQL简介
3 1 1 SQL发展史
3 1 2 SQL数据库的体系结构
3 1 3 SQL的组成
3 1 4 SQL的特点
3 2 SQL的数据定义
3 2 1 SQL模式的创建和撤销
3 2 2 基本数据类型
3 2 3 基本表的创建 修改和撤销
3 2 4 索引的创建和撤销
3 3 SQL的数据查询
3 3 1 SELECT查询语句的基本结构
3 3 2 SELECT语句的使用技术
3 3 3 聚合函数
3 3 4 SELECT语句完整的句法
3 4 SQL数据查询中的限制和规定
3 4 1 SELECT语句中的规定
3 4 2 条件表达式中的比较 *** 作
3 4 3 嵌套查询的改进写法
3 4 4 基本表的连接 *** 作
3 4 5 SQL3中的递归查询
3 5 数据更新
3 5 1 数据插人
3 5 2 数据删除
3 5 3 数据修改
3 6 视图
3 6 1 视图的创建和撤销
3 6 2 对视图的 *** 作
3 7 嵌入式SQL
3 7 1 嵌入式SQL的实现方式
3 7 2 嵌入式SQL的使用规定
3 7 3 嵌入式SQL的使用技术
3 7 4 动态SQL语句
3 8 小结
习题3
第4章 数据库管理
4 1 事务
4 1 1 事务的定义
4 1 2 事务的ACID性质
4 2 数据库的恢复
4 2 1 典型的恢复策略
4 2 2 故障类型和恢复方法
4 2 3 检查点技术
4 2 4 SQL对事务的支持
4 3 数据库的并发控制
4 3 1 并发 *** 作带来的4个问题
4 3 2 封锁技术
4 3 3 封锁带来的问题
4 3 4 并发 *** 作的调度
4 3 5 SQL对并发处理的支持
4 4 数据库的完整性
4 4 1 完整性子系统
4 4 2 SQL中的完整性约束
4 4 3 约束可延迟性
4 4 4 SQL3中的触发器
4 5 数据库的安全性
4 5 1 安全性问题
4 5 2 SQL中的安全性机制
4 5 3 常用的安全性措施
4 6 小结
习题4
第3部分 设计篇
第5章 关系模式设计理论
5 1 关系模式的设计准则
5 1 1 关系模式的冗余和异常问题
5 1 2 关系模式的非形式化设计准则
5 2 函数依赖
5 2 1 函数依赖的定义
5 2 2 FD的闭包
5 2 3 FD的推理规则
5 2 4 FD和关键码的联系
5 2 5 属性集的闭包
5 2 6 FD集的最小依赖集
5 3 关系模式的分解特性
5 3 1 关系模式的分解
5 3 2 无损分解
5 3 3 模式分解的优缺点
5 3 4 无损分解的测试方法
5 3 5 保持函数依赖的分解
5 3 6 模式分解与模式等价问题
5 4 范式
5 4 1 第一范式 1NF
5 4 2 第二范式 2NF
5 4 3 第三范式 3NF
5 4 4 BCNF Boyce-CoddNF
5 4 5 分解成BCNF模式集的分解算法
5 4 6 分解成3NF模式集的合成算法
5 4 7 模式设计方法小结
5 5 其他数据依赖和范式
5 5 1 多值依赖
5 5 2 关于FD和MVD的推理规则集
5 5 3 第四范式 4NF
5 5 4 嵌人多值依赖
5 5 5 连接依赖和第五范式
5 6 小结
习题5
第6章 基于ER模型的数据库设计
6 1 数据库工程与数据库系统生存期
6 1 1 规划阶段
6 1 2 需求分析阶段
6 1 3 概念设计阶段
6 1 4 逻辑设计阶段
6 1 5 物理设计阶段
6 1 6 数据库的实现
6 1 7 数据库的运行与维护
6 2 ER模型
6 2 1 ER模型的基本元素
6 2 2 属性的分类
6 2 3 联系的设计
6 2 4 ER模型的 *** 作
6 2 5 采用ER模型的数据库概念设计步骤
6 3 ER模型到关系模型的转换
6 3 1 ER图转换成关系模式集的算法
6 3 2 采用ER模型的逻辑设计步骤
6 4 ER模型实例分析
6 4 1 库存管理信息系统的ER模型及转换
6 4 2 人事管理信息系统的ER模型
6 4 3 住院管理信息系统的ER模型
6 4 4 公司车队信息系统的ER模型
6 5 增强的ER模型
6 5 1 弱实体
6 5 2 子类实体与超类实体
6 6 小结
习题6
第7章 面向对象的高级概念建模
7 1 面向对象的数据类型系统
7 2 对象联系图
7 2 1 对象联系图的成分
7 2 2 数据的概化/特化
7 3 UML类图
7 3 1 统一建模语言 UML 概述
7 3 2 用类图表达类和关联
7 3 3 用类图表达关联类
7 3 4 用类图表达概化/特化
7 3 5 用类图表达聚合
7 4 小结
习题7
第4部分 对象篇
第8章 对象关系数据库ORDB
8 1 关系模型的发展历程
8 1 1 从关系模型到后关系模型
8 1 2 从后关系模型到对象关系模型
8 2 ORDB的定义语言
8 2 1 对象关系数据模型的定义
8 2 2 数据类型的定义
8 2 3 继承性的定义
8 2 4 引用类型的定义
8 2 5 SQL3中的定义语言
8 3 0RDB的查询语言
8 3 1 对SELECT语句的新规定
8 3 2 嵌套与解除嵌套
8 3 3 复合值的创建和查询
8 3 4 Oracle中查询的两种技术
8 4 函数和过程
8 4 1 SQL函数和过程
8 4 2 外部语言程序
8 4 3 过程的构造
8 5 小结
习题8
第9章 面向对象数据库OODB
9 1 00DBS的基本概念
9 1 1 ODMG标准
9 1 2 OODBS的定义
9 1 3 OODB的基本概念
9 2 ODMG对象模型
9 2 1 对象和文字
9 2 2 接口 类和继承
9 2 3 类外延 关键码和工厂对象
9 3 ODMGODL
9 4 ODMGOQL
9 4 1 OQL中的SELECT语句
9 4 2 OQL表达式的附加格式
9 4 3 OQL中对象的赋值和建立
9 5 C 语言的绑定
9 6 OODB ORDB与RDB的比较
9 6 1 OODB与RDB在概念设计上的区别
9 6 2 OODB与ORDB的比较
9 7 小结
习题9
第5部分 分布篇
第10章 分布式数据库
10 1 DDBS的定义和特点
10 1 1 从集中式 分散式到分布式
10 1 2 DDBS的定义
10 1 3 DDBS的特点
10 1 4 DDBS的优缺点
10 1 5 DDBS的分类
10 2 分布式数据存储
10 2 1 数据分片
10 2 2 数据分配
10 3 DDB的体系结构
10 3 1 体系结构
10 3 2 分布透明性
10 4 DDBMS
10 4 1 DDBS的组成
10 4 2 DDBMS的功能
10 4 3 DDBMS的组成
10 4 4 DDBMS的同构性程度和局部自治性程度
10 4 5 FDBS的异构性
10 4 6 FDBS的5层模式结构
10 5 分布式查询处理
10 5 1 查询代价的估算方法
10 5 2 基于半连接的优化策略
10 5 3 基于连接的优化方法
10 6 分布式数据库中的并发控制和恢复技术
10 6 1 DDB中的问题
10 6 2 基于数据项识别拷贝的分布式并发控制
10 6 3 基于投票方法的分布式并发控制
10 6 4 分布式恢复
10 7 小结
习题10
第11章 异构多数据源的访问
11 1 中间件
11 1 1 中间件的定义
11 1 2 中间件的作用
11 2 ODBC结构
11 2 1 ODBC概念
11 2 2 ODBC的体系结构
11 2 3 ODBC的特性
11 3 ODBC接口
11 3 1 ODBC应用程序的基本流程
11 3 2 ODBC句柄
11 3 3 数据源的连接与断开
11 3 4 SQL语句的执行
11 3 5 查询结果的获取
11 4 ODBC的符合性级别
11 4 1 API符合性的三个级别
11 4 2 SQL符合性的三个级别
11 4 3 ODBCAPI与SQLCLI之间的协调
11 4 4 SQLCLI与嵌入式SQL的比较
11 4 5 典型的数据库应用系统开发工具
11 5 JDBC结构
11 5 1 JDBC的提出
11 5 2 JDBC的基本功能
11 5 3 JDBC数据库设计方法
11 5 4 保持一致性的措施
11 5 5 JDBC驱动程序
11 6 JDBCAPI
11 6 1 JDBCAPI的目标
11 6 2 JDBCAPI接口概貌
11 6 3 JDBC的接口和类
11 6 4 JDBC数据库应用程序的编写
11 7 小结
习题11
第12章 XML技术
12 1 XML概述
12 1 1 XML的诞生
12 1 2 XML文挡
12 1 3 文档类型定义 DTD
12 1 4 XML模式
12 2 XML编程接口
12 2 1 文档对象模型 DOM
12 2 2 简单的应用程序设计接口 SAX
12 3 常用的XML查询语言XQuery
12 3 1 XQuery的基本功能
12 3 2 XQuery的基本概念
12 3 3 简单查询
12 3 4 各种类型的查询
12 4 小结
习题12
第6部分 决策篇
第13章 数据仓库
13 1 DW概述
13 1 1 从DB到DW的演变
13 1 2 DB数据和DW数据的区别
13 1 3 DW的定义和特点
13 1 4 DW的类型
13 2 DW的组织结构
13 2 1 DW的数据组织结构
13 2 2 粒度与分割
13 2 3 DWS的结构
13 2 4 DW的运行结构
13 3 DW存储的多维数据模型
13 3 1 多维立方体
13 3 2 星形模式
13 3 3 雪花模式
13 3 4 事实星座模式
13 4 DW的数据获取与管理
13 4 1 DW的数据获取
13 4 2 DW的数据管理
13 5 DW的设计和发展阶段
13 5 1 DW设计的原则
13 5 2 DW设计的步骤
13 5 3 DW的发展阶段
13 6 小结
习题13
第14章 联机分析处理技术
14 1 OLAP概述
14 1 1 OLAP的定义
14 1 2 OLAP准则
14 1 3 OLAP的基本概念
14 1 4 OLAP与OLTP之间的比较
14 2 OLAP的数据组织
14 2 1 MOLAP
14 2 2 ROLAP
14 2 3 HOLAP
14 2 4 OLAP数据的处理方式
14 3 OLAP的多维数据分析
14 3 1 切片和切块
14 3 2 钻取
14 3 3 旋转
14 3 4 OLAP应用开发实例
14 3 5 广义OLAP *** 作
14 4 OLAP的数据索引技术
14 4 1 位图索引
14 4 2 连接索引
14 5 基于Web的OLAP系统结构
14 6 小结
习题14
第15章 数据挖掘
15 1 DM概述
15 1 1 DM的由来
15 1 2 DM的定义
15 1 3 DM与DW的联系与区别
15 1 4 DM与OLAP的联系与区别
15 2 DM过程
15 3 DM的关联分析方法
15 3 1 DM的分析方法
15 3 2 关联规则的定义
15 3 3 关联规则的分类
15 3 4 关联规则的挖掘算法
15 3 5 多层和多维关联规则的挖掘
15 3 6 关联规则价值衡量的方法
15 4 DM的其他分析方法
15 4 1 序列模式分析方法
15 4 2 分类分析方法
15 4 3 聚类分析方法
15 5 DM的应用领域
15 5 1 DM的应用行业
15 5 2 商业化的DM工具
15 6 新决策支持系统概述
15 6 1 新DSS的结构图
15 6 2 新DSS的成功实例
15 6 3 新DSS与传统DSS的比较
15 6 4 综合DSS的结构图
15 7 小结
习题15
参考文献
一级封锁协议: 事务T在修改数据R之前必须先对其加X锁, 直到事务结束才释放。但是如果只是读数据,不需加锁,因此会造成读脏数据的情况
二级封锁协议: 一级封锁协议加上事务T在读取数据R之前必须先对其加S锁, 读完后即可释放²可防止读脏数据, 丢失修改不能保证可重复读
严格两阶段封锁协议不仅要求封锁是两阶段,还要求事务持有的所有排他锁必须在事务提交后方可释放。这个要求保证未提交事务所写的任何数据在该事务提交之前均已排他方式加锁,防止了其他事务读这些数据。
强两阶段封锁协议。它要求事务提交之前不释放任何锁。在该条件下,事务可以按其提交的顺序串行化。
MyISAM和InnoDB存储引擎使用的锁:
封锁粒度小:
由于InnoDB存储引擎支持的是行级别的锁,因此意向锁(因为意向锁是表锁)其实不会阻塞除全表扫以外的任何请求。故表级意向锁与行级锁的兼容性如下所示
参考
参考
行锁的三种算法:
这条语句阻止其他事务插入10和20之间的数字,无论这个数字是否存在。 间隙可以跨越0个,单个或多个索引值。
>
使用顺序封锁法的主要作用是防止锁死。
顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。顺序封锁法可以有效地防止死锁。
在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已被其他事务封锁的数据对象加锁,从而出现死等待。
以上就是关于数据库中什么是S锁什么是X锁它们区别是什么全部的内容,包括:数据库中什么是S锁什么是X锁它们区别是什么、数据库教程的目录、谁能解释一下数据库中的二级封锁协议等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)