数据库应用第十二章:SQL高级应用

一.什么是事务?

事务(TRANSACTION)是由对数据库的若干操作组成的一个逻辑工作单元,这些操作要么都执行,要么都不执行,是一个不可分割的整体。事务用这种方式保证数据满足并发性和完整性的要求。使用事务可以避免发生有的语句被执行,而另外一些语句没有被执行,从而造成数据不一致的情况。

二.简述事务ACID原则的含义。

事务的处理必须满足4原则,即原子性(A)、一致性(C)、隔离性(I)和持久性(D),简称ACID原则:
(1)原子性(Atomicity):事务必须是原子工作单元,事务中的操作要么全部执行,要么全部不执行,不能只完成部分操作。原子性在数据库系统中,由恢复机制来实现;
(2)一致性(Consistency):事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态。数据库一致性的定义是由用户负责的,如前面所述的银行转账,用户可以定义转账前后两个账户金额之和应该保持不变;
(3)隔离性(Isolation):系统必须保证事务不受其他并发执行事务的影响,即当多个事务同时运行时,各事务之间相互隔离,不可互相干扰。事务查看数据时所处的状态,要么是另一个并发事务修改它之前的状态,要么是另一个并发事务修改它之后的状态,事务不会查看中间状态的数据。隔离性通过系统的并发控制机制实现;
(4)持久性(Durability):一个已完成的事务对数据所做的任何变动在系统中都是永久有效的,即使该事务产生的修改是不正确,错误也将一直保持。持久性通过恢复机制实现,发生故障时,可以通过日志等手段恢复数据库信息。

三.使用游标访问数据包括哪些步骤?

 一般地,使用游标都遵循下列的常规步骤:
(1)声明游标。把游标与T-SQL语句的结果集联系起来。
(2)打开游标。
(3)使用游标操作数据。
(4)关闭游标。
(5)释放游标。

四.基本的封锁类型有几种?试述他们的含义。

封锁就是一个事务对某个数据对象加锁,取得对它一定的控制,限制其它事务对该数据对象使用。

封锁的类型
1. 排它锁(X锁,eXclusive lock,写锁):事务T对数据对象R加上X锁,则其它事务对R的任何封锁请求都不能成功,直至T释放R上的X锁。
2.共享锁(S锁,Share lock,读锁):事务T对数据对象R加上S锁,则其它事务对R的X锁请求不能成功,而对R的S锁请求可以成功。

五.哪3个操作可以用来管理分区,每个操作的目的又是什么?

1.切换分区:使用ALTER TABLE 语句的SWITCH 子句可以将已填充的表或分区与空的表或分区进行交换。
2.合并分区:使用ALTER PARTITION FUNCTION语句可以合并分区。执行合并操作时,在该语句中,指定了边界值的分区将被删除,并且该数据合并到相邻的分区中。
3.拆分分区:拆分分区也使用ALTER PARTITION FUNCTION 语句。拆分分区将创建新分区,并相应的重新分配数据。新的分区创建在基于分区函数的每一个分区方案中指定为下一个文件组的文件组中。

六.现有students数据库中的数据表“student”。如下图所示:
这里写图片描述

扫描二维码关注公众号,回复: 1884240 查看本文章

用游标访问表中的数据,并按下面格式显示表中数据学生信息。

use students
declare @sno char(12),@sname char(10), @sage tinyint,@sdept char(4)
declare cur1 cursor 
for select sno,sname,sage,sdept from student
open cur1
fetch next from cur1 into @sno@sname@sage@sdept
while @@FETCH_STATUS=0
begin
print '学号:'+@sno+'姓名:'+@sname+'年龄:'+str(@sage)+'所在系为:'+@sdept
fetch next from cur1 into @sno@sname@sage@sdept
end
close cur1
deallocate cur1

猜你喜欢

转载自blog.csdn.net/weixin_37519752/article/details/80923637