- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理与SQL Server 第20课 数据完整性 第20课 数据完整性 目标: 掌握数据完整性的相关知识 掌握事务的概念和分类 了解锁 掌握错误处理机制 9.1 事务 数据完整性:数据库中数据的正确性、有效性和相容性 一、事务的概念 1. 事务 事务是完成特定功能的一组操作,要么都执行要么都不执行 建立事务:BEGIN TRANSACTION [事务名称] 提交事务:COMMIT TRANSACTION [事务名称] 回滚事务: ROLLBACK TRANSACTION [事务名称] 二、事务的分类 1. 显式事务 由用户定义事务的启动和结束 三、使用事务注意事项 自动事务不能提交或回滚。 系统默认为自动事务模式,直到定义隐式(SET IMPLICIT_ TRANSACTIONS ON)或显式(BEGIN TRANSACTION)事务。 隐式事务必须提交或回滚,否则将导致事务长期运行。 当 SET XACT_ABORT 为 ON 时,系统自动维护事务的原子性;为 OFF 时,只回滚产生错误的T-SQL 语句。 事务应尽可能短。 避免用户在事务中输入数据。 在浏览数据时避免打开事务。 减少事务中所访问的数据量。 9.2 锁 锁的概念:多用户环境下对资源访问的一种限制。 锁的作用:防止多个用户对同一数据操作时引起的数据混乱 一、锁的分类 二、锁的粒度 三、查看锁 1. 使用SQL-EM SQL-EM→管理→当前活动→锁/对象 四、使用锁注意事项 遵守事务指导原则。 对应用程序进行强度测试。 允许用户终止长时间运行的查询。 在查询期间禁止用户输入以减少查询的运行时间。 当一个查询在运行时,它将在资源上保持一个某种类型的锁。 实际应用中应该尽可能让SQL Server 2000来管理锁。 9.3 @@ERROR 1. @@ERROR概述 通过检查@@ERROR的值来确定是否已发生错误及类型 作业 实训 实训名称:数据完整性管理 目的要求:掌握事务的定义、错误的处理以及锁的检索方法 操作步骤: ① 使用T-SQL语句编写一个事务,实现向数据库student的表“班级_学号_c”中插入一条正确的记录,并提交该事务。 ② 使用T-SQL语句编写一个事务,实现向数据库student的表“班级_学号_s”中插入一条正确的记录,并回滚该事务。 ③ 使用T-SQL语句编写一个事务,实现向数据库student的“班级_学号_sc”表中插入一条正确的记录,并提交该事务,再向表“班级_学号_sc”中插入相同的记录后提交事务,观察错误信息。 ④ 使用T-SQL语句创建一个带参数的存储过程,存储过程名为“班级_学号_cdelete”,用于按课程编号删除课程信息,要求具有错误处理能力,并执行该存储过程。 ⑤ 使用T-SQL语句检索数据库中ID为55的进程的锁信息。 * /sjk 西安航空技术高等专科学校 数据库应用-数据库原理与SQL Server * 《数据库应用-数据库原理与SQL Server》 —— 国家级精品课程 西安航空技术高等专科学校 /sjk 主讲:壮志剑 实体完整性: 域完整性: 参照完整性: 自定义完整性: 数据完整性 所有记录应有唯一标识 列必须满足的约束 外键与参照表主键数据的一致性 特定数据的约束 数据完整性属于数据库的一部分,独立于应用程序 2. 属性 原子性(Atomicity):所有操作是一个不可分割的逻辑单位 一致性(Consistency):事务结束时所有数据处于一致性状态 隔离性(Isolation):多个事务并发执行应保证结果是正确的 持续性(Durability):对数据库数据的修改将被永久保存 实例 实例 2. 隐式事务 任何T-SQL语句开始事务,以提交或回滚语句结束 实例 3.自动事务 每一条T-SQL语句为一个事务 4. 分布式事务 准备阶段:各服务器向分布式事务管理器提交请求 提交阶段:分布式事务管理器向各服务器发出提交命令 独占锁: 共享锁: 更新锁: 数据库系统 只允许执行锁定的用户操作 允许其他用户读取但不允许修改 为防止死锁而设置 程序员 乐观锁: 悲观锁: 由系统负责管理锁 由程序员管理锁 锁的粒度:锁的大小 1.数据行:锁定表中的单行数据 2.索引行:锁定索引中的单行数据 3.页面:锁定一个数据或索引页面(存取数据的基本单位) 4.区域:锁定一组连续的数据页面或索引页面 5.表:锁定整个表 6.数据库:
文档评论(0)