您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 12数据库原理与应用教程—SQLServer数据库__考试题目(12)-
1数据库原理与应用教程―SQLServer12.5习题1.什么是事务?如果要提交或取消一个事务,使用什么语句?答:事务处理是数据库的主要工作,事务由一系列的数据操作组成,是数据库应用程序的基本逻辑单元,用来保证数据的一致性。提交或取消一个事务:COMMITTRANSACTION或ROLLBACKTRANSACTION语句。2.事务分为哪几类?答:根据系统的设置,SQLServer2005将事务分为两种类型:系统提供的事务和用户定义的事务。根据运行模式的不同,SQLServer2005将事务分为4种类型:显示事务、隐式事务、自动提交事务和批处理级事务。3.简述事务回滚机制。答:(1)如果不指定回滚的事务名称或保存点,则ROLLBACKTRANSACTION命令会将事务回滚到事务的起点。(2)在嵌套事务时,该语句将所有内层事务回滚到最远的BEGINTRANSACTION语句,transaction_name也只能是来自最远的BEGINTRANSACTION语句的名称。(3)在执行COMMITTRANSACTION语句后不能回滚事务。(4)如果在触发器中发出ROLLBACKTRANSACITON命令,将回滚对当前事务中所做的所有数据修改,包括触发器所做的修改。(5)事务在执行过程中出现任何错误,SQLServer都将自动回滚事务。4.简述锁机制,锁分为哪几类。答:锁是防止其他事务访问指定的资源、实现并发控制的一种手段,是多个用户能够同时操纵同一个数据库中的数据而不发生数据不一致现象的重要保障。锁分为(1)共享锁(SharedLock)(2)排它锁(ExclusiveLock)(3)更新锁(UpdateLock)(4)意向锁(IntentLock)(5)模式锁(SchemaLock)(6)大容量更新锁(BulkUpdateLock)5.分析各类锁之间的兼容性。在一个事务已经对某个对象锁定的情况下,另一个事务请求对同一个对象的锁定,此时就会出现锁定兼容性问题。当两种锁定方式兼容时,可以同意对该对象的第二个锁定请求。如果请求的锁定方式与已挂起的锁定方式不兼容,那么就不能同意第二个锁定请求。相反,请求要等到第一个事务释放其锁定,并且释放所有其他现有的不兼容锁定为止。详细内容见书表12-1。6.简述死锁及其解决办法。答:产生死锁的情况一般包括以下两种:2第一种情况,当两个事务分别锁定了两个单独的对象,这时每一个事务都要求在另外一个事务锁定的对象上获得一个锁,因此每一个事务都必须等待另外一个事务释放占有的锁,这时,就发生了死锁。这种死锁是最典型的死锁形式。第二种情况,当在一个数据库中时,有若干个长时间运行的事务执行并行的操作,当查询分析器处理一种非常复杂的查询例如连接查询时,那么由于不能控制处理的顺序,有可能发生死锁现象。在数据库中解决死锁常用的方法有:(1)要求每个事务一次就将要使用的数据全部加锁,否则就不能继续执行。(2)允许死锁发生,系统来用某些方式诊断当前系统中是否有死锁发生。7.创建一个事务,将所有女生的考试成绩都加5分,并提交。答:BEGINTRANSACTIONUSE教学库UPDATE选课SET成绩=成绩+5WHERE学生号in(SELECT学生号FROM学生WHERE性别=’女’)COMMITTRANSACTION8.创建一个事务,向商品表中添加一条记录,设置保存点;再将商品编号为“ds-001”的单价改为“2000”。答:BEGINTRANSACTIONUSE仓库库存INSERTINTO商品(商品编号,商品名称,单价,生产商)VALUES('bx-159','冰箱',2500,'安徽美菱')SAVETRANsavepointUPDATE商品SET单价=2000WHERE商品编号='ds-001'COMMIT
本文标题:12数据库原理与应用教程—SQLServer数据库__考试题目(12)-
链接地址:https://www.777doc.com/doc-3097585 .html