数据库原理与SQLServer
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、使用锁注意事项
遵守事务指导原则。
对应用程序进行强度测试。
允许用户终止长时间运行的查询。
在查询期间禁止用户输入以减少查询的运行时间。
当一个查询在运行时,它将在资源上保持一个某种 类型的锁。
实际应用中应该尽可能让SQL Server 2000来管理锁。
西安航空技术高等专科学校
数据库应用-数据库原理与SQL Server
数据库应用-数据库原理与SQL Server
/sjk
实训
实训名称:数据完整性管理 目的要求:掌握事务的定义、错误的处理以及锁的检索方法 操作步骤: ① 使用 T-SQL 语句编写一个事务,实现向数据库 student 的表“ <班级 >_< 学号 >_c”中插入 一条正确的记录,并提交该事务。 ② 使用 T-SQL 语句编写一个事务,实现向数据库 student的表“ < 班级 >_< 学号 >_s” 中插入 一条正确的记录,并回滚该事务。 ③ 使用T-SQL语句编写一个事务,实现向数据库 student的“<班级 >_<学号>_sc”表中插入 一条正确的记录,并提交该事务,再向表“<班级>_<学号>_sc”中插入相同的记录后提交事 务,观察错误信息。 ④ 使用T-SQL语句创建一个带参数的存储过程,存储过程名为“ <班级>_<学号>_cdelete”, 用于按课程编号删除课程信息,要求具有错误处理能力,并执行该存储过程。 ⑤ 使用T-SQL语句检索数据库中ID为55的进程的锁信息。
域完整性:列必须满足的约束
数据完整性 参照完整性:外键与参照表主键数据的一致性
自定义完整性:特定数据的约束
数据完整性属于数据库的一部分,独立于应用程序
西安航空技术高等专科学校
数据库应用-数据库原理与SQL Server
/sjk
一、事务的概念
1. 事务 事务是完成特定功能的一组操作,要么都执行要么都不执行 建立事务:BEGIN TRANSACTION [<事务名称>] 提交事务:COMMIT TRANSACTION [<事务名称>] 回滚事务: ROLLBACK TRANSACTION [<事务名称>] 2. 属性
提交阶段:分布式事务管理器向各服务器发出提交命令
西安航空技术高等专科学校
数据库应用-数据库原理与SQL Server
/sjk
三、使用事务注意事项
自动事务不能提交或回滚。 系统默认为自动事务模式,直到定义隐式(SET IMPLICIT_ TRANSACTIONS ON)或显式(BEGIN TRANSACTION)事务。
/sjk
二、事务的分类
1. 显式事务 由用户定义事务的启动和结束 2. 隐式事务 实例 实例
任何T-SQL语句开始事务,以提交或回滚语句结束 实例
3.自动事务 每一条T-SQL语句为一个事务 4. 分布式事务 准备阶段:各服务器向分布式事务管理器提交请求
《数据库应用-数据库原理与SQL Server》
—— 国家级精品课程
/sjk
数据库原理与SQL Server 第20课 数据完整性
主讲:壮志剑
西安航空技术高等专科学校
数据库应用-数据库原理与SQL Server
/sjk
数据库应用-数据库原理与SQL Server
/sjk
9.2 锁
锁的概念:多用户环境下对资源访问的一种限制。
锁的作用:防止多个用户对同一数据操作时引起的数据混乱
西安航空技术高等专科学校
数据库应用-数据库原理与SQL Server
/sjk
实例 编写存储过程sc_insert,用于表sc中插入记录,并判断 插入是否成功。
西安航空技术高等专科学校
数据库应用-数据库原理与SQL Server
/sjk
作业
第九章 习题 1、2、3、4、5、6、7、8、9、10、11、12
西安航空技术高等专科学校
隐式事务必须提交或回滚,否则将导致事务长期运行。
当 SET XACT_ABORT 为 ON 时,系统自动维护事务的原子性; 为 OFF 时,只回滚产生错误的T-SQL 语句。
事务应尽可能短。
避免用户在事务中输入数据。 在浏览数据时避免打开事务。 减少事务中所访问的数据量。
西安航空技术高等专科学校
第20课 数据完整性
目标:
掌握数据完整性的相关知识 掌握事务的概念和分类 了解锁 掌握错误处理机制
西安航空技术高等专ห้องสมุดไป่ตู้学校
数据库应用-数据库原理与SQL Server
/sjk
9.1 事务
数据完整性:数据库中数据的正确性、有效性和相容性
实体完整性:所有记录应有唯一标识
数据库应用-数据库原理与SQL Server
/sjk
三、查看锁 1. 使用SQL-EM SQL-EM→管理→当前活动→锁/对象 2. 使用SQL语句 语句格式:sp_lock
西安航空技术高等专科学校
数据库应用-数据库原理与SQL Server
/sjk
二、锁的粒度
锁的粒度:锁的大小
1.数据行:锁定表中的单行数据 2.索引行:锁定索引中的单行数据 3.页面:锁定一个数据或索引页面(存取数据的基本单位) 4.区域:锁定一组连续的数据页面或索引页面
5.表:锁定整个表
6.数据库:锁定整个数据库
锁的粒度越大,锁定的数据越多,数据的并发性越低
西安航空技术高等专科学校
原子性(Atomicity):所有操作是一个不可分割的逻辑单位 一致性(Consistency):事务结束时所有数据处于一致性状态 隔离性(Isolation):多个事务并发执行应保证结果是正确的 持续性(Durability):对数据库数据的修改将被永久保存
西安航空技术高等专科学校
数据库应用-数据库原理与SQL Server
一、锁的分类
独占锁: 只允许执行锁定的用户操作 数据库系统 共享锁: 允许其他用户读取但不允许修改 更新锁: 为防止死锁而设置
乐观锁:由系统负责管理锁 程序员 悲观锁:由程序员管理锁
西安航空技术高等专科学校
数据库应用-数据库原理与SQL Server
/sjk
/sjk
9.3 @@ERROR
1. @@ERROR概述 通过检查@@ERROR的值来确定是否已发生错误及类型 2. 错误处理 如果T-SQL语句执行成功,则 @@ERROR返回 0 如果T-SQL语句产生错误,则 @@ERROR返回错误号
3. 错误处理实例