数据库原理与应用复习提纲(5)

2020-06-21 14:16

恢复A=100

18、设Tl 和T2两个事务,它们对数据A 的并发操作如图所示(其中SLOCK A 表示对数据A 上S 锁,UNLOCK A 表示对数据A 解锁,COMMIT 表示提交操作)。对这个并发操作,下面5 个评价中的 B 和 D 两条评价是正确的. A .该操作不能重复读 B .该操作丢失修改 C .该操作符合完整性要求

D .该操作的第(l )步中,事务T1 应申请X 锁 E .该操作的第(2 )步中,事务T2 不可能得到对A 的锁 T1 ① 请求 SLOCK A 读A=18 ② ③ A=A+10 写回A=28 COMMIT UNLOCK A ④ T2 请求 SLOCK A 读A=18 写回A=18 COMMIT UNLOCK A 19、解决并发操作带来的数据不一致性问题时普遍采用 A A .封锁

B .恢复 C .存取控制. D .协商

20、若事务T 对数据R 已加X 锁,则其他事务对数据R D A .可以加S 锁不能加X 锁 C .可以加S 锁也可以加X 锁

B .不能加S 锁可以加X 锁 D .不能加任何锁

21、不允许任何其他事务对这个锁定目标再加任何类型锁的锁是_B_。 A .共享锁 B .排他锁 C .共享锁或排他锁 D .以上都不是 22、数据库的封锁机制是_C_的主要方法。 A .完整性 B .安全性

C .并发控制

D .恢复

23、关于“死锁”,下列说法中正确的是 D 。

21

A ,死锁是操作系统中的问题,数据库操作中不存在

B .在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库 C . 当两个用户竞争相同资源时不会发生死锁 D .只有出现并发操作时,才有可能出现死锁

24、对并发操作若不加以控制.可能会带来_D_问题. A .不安全

B .死锁 C .死机

D .不一致

25、数据库系统并发控制的主要方法是采用 C 机制。 A .拒绝

B .改为串行 C .封锁

D .不加任何控制

26、若数据库中只包含成功事务提交的结果,则此数据库就称为处于_B_状态。 A .安全

B .一致 C .不安全

D .不一致

27、若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情祝称为_C_。

A .事务故障 B .系统故障 C .介质故障 28、用于数据库恢复的重要文件是_C_. A .数据库文件 B .索引文件 C .日志文件 29、 并发操作会带来哪些数据不一致性?_D_。

A .丢失修改、不可重复读、脏读、死锁B . 不可重复读、脏读、死锁 C .丢失修改、脏读、死锁 D .丢失修改、不可重复读、脏读 30、如果事务T获得了数据项Q上的排它锁,则T对Q(D )。

A. 只能读不能写B. 只能写不能读 C. 不能读不能写 D. 既可读又可写 31、DBMS对数据库的锁有共享锁和排它锁,封锁是( C )的主要方法。

A. 安全性控制 B. 完整性控制 C. 并发控制 D. 数据库恢复 32、数据恢复的建立冗余数据的常用技术( A )。

A. 数据转储和登记日志文件 B. 数据备份和加密技术 C. 视图与审计 D. 数据库镜像

D . 备注文件 D .运行故障

第七部分 主要程序代码 主要内容:

1、数据库的创建

2、基本表的创建、修改、完整性操作 3、触发器 4、存储过程 5、游标

22

练习题:

1.创建数据库

create database test on (

name='test1_data',

filename='C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\DATA\\test1.mdf', size=5mb, filegrowth=10%) log on

(name='test1_log',

filename='C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\DATA\\test1.ldf', size=2mb, maxsize=5mb, filegrowth=1mb)

2. 定义表

Create table student

(sno varchar(10) primary key, sname varchar (10) , ssex varchar (2) , sage int ,

sdept varchar (10) ) go

Create table course (cno

varchar (3) primary key ,

cname varchar (30), credit int , cpno go

Create table sc (sno varchar (10), cno varchar (3), grade INT ,

primary key(sno,cno),

foreign key (sno) references student(sno), foreign key (cno) references course(cno) )

varchar (3) )

3. 为表STUDENT创建一级联更新触发器STU_UPDATE,当修改STUDENT表中的 学号时,同时也要将SC表中的学号改成相应的学号

CREATE TRIGGER STU_UPDATE ON STUDENT FOR UPDATE

23

AS

DECLARE @OLD_SNO VARCHAR(10),@NEW_SNO VARCHAR(10) SELECT @OLD_SNO=SNO FROM DELETED SELECT @NEW_SNO=SNO FROM INSERTED

UPDATE SC SET SNO=@NEW_SNO WHERE SNO=@OLD_SNO

4. (1)创建带参数的存储过程,从表student和sc的连接中输入的学生姓名,返回学生的

成绩。

CREATE PROC grade_info @S_name varchar(20) AS

SELECT SNAME, GRADE

FROM STUDENT INNER JOIN SC ON STUDENT.SNO=SC.SNO WHERE SNAME LIKE @S_name 执行:EXEC grade_info '李勇'

(2)创建存储过程student_info,通过输入参数在student表中查找学生,以输出参数获取学生姓名。

CREATE PROC student_info

@student_sno varchar (10), @stuname varchar(10) OUTPUT AS

SELECT @stuname=sname FROM student

WHERE sno=@student_sno

执行:EXECUTE语句还需要关键字OUTPUT以允许参数值返回给变量。 按照位置执行:

DECLARE @stuname VARCHAR (20)

EXEC student_info '95001',@stuname OUTPUT SELECT @stuname as 姓名

5. 为student表中姓名以“王”开头的行声明一个简单的游标w_cursor,并使用fetch next 逐个提取这些行。Fetch语句以单行结果集形式返回由declare cursor指定列的值。

Declare w_cursor CURSOR FOR Select sno,sname from student Where sname like '王%' Open w_cursor

Fetch next from w_cursor While @@fetch_status=0 begin

fetch next from w_cursor end

Close w_cursor Deallocate w_cursor

24


数据库原理与应用复习提纲(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江苏省徐州市2017-2018学年高二下学期数学(理)期末试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: