77范文网 - 专业文章范例文档资料分享平台

上海大学数据库2原理研讨+作业的个人解答(3)

来源:网络收集 时间:2019-04-14 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第7周(第八章:并发控制)

二、研讨课:

1. 判断下列并发调度是不是可串行化调度,为什么?修改如下并发调度为可串行化调度

时间 t0 t1 t2 t3 t4 t5 t6 t7 事务T1 Read A Update A=A+1 Read B Update B=B+1 数据库中值 A=10, B=2 事务T2 Read B Read A Update B=A+B

2. 设T1,T2,T3是如下三个事务:

2

T1: A:=A+2; T2: A:=A*2; T3: A:=A; 设A的初始值为0.

1) 若三个事务允许并发执行,则有多少种可能的正确的结果,请分别列举出来 2) 请给出一个可串行化的调度,并给出执行结果 3) 请给出一个非串行化的调度,并给出执行结果

4) 若三个事务都遵守两段锁协议,请给出一个产生死锁的调度。 1) A33=6

123 16 132 8 213 4 231 2 312 4 321 2

结果为4种,为2、4、8、16 2)

3)

3. 操作序列T1、T2、T3对数据A、B、C并发操作如下所示,T1与T2间并发操作(1) , T2与T3间并发操作(2) 。修改如下并发调度为可串行化调度 时间 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 T1 读A=50 读B=200 X1=A+B 读A=50 读B=100 X1=A+B 验算不对 T2 读B=200 B=B-100 写B T3 读B=200 B=B+50 写B

三、作业:

1. 课本Page196:习题8.10。 2. 课本Page196:习题8.11。 3. 课本Page196:习题8.12。

第8周(第八章:完整性和安全性;第九章分布式自学)

二、研讨课:

1. 写有关school数据库的完整性约束

(1)确保每个学生在同一学期同一门课只能选一个老师开设的课程。 create assertion asse1 check (not exists( select * from e as a,e as b where a.xh = b.xh and a.xq = b.xq and a.kh = b.kh

and a.gh <> b.gh )

);

(2)确保每门课程每年只开设一次。 Create assertion ass2 check (1>all(select count(distinct (A.课号))

From 开课表 as A,开课表 as B Where A.学年=B.学年 And A.课号=B.课号 Group by 学年,课号 ));

2. 设有三个关系模式:STUDENT(SNO,SNAME,AGE,SEX,SADDR,DNO) COURSE(CNO,CNAME,CHARA,CREDIT,DNO,TERM,TNAME) GRADE(SNO,CNO,TERM,PGRADE,EGRADE,GGRADE)

中文含义:学生(学号,姓名,年龄,性别,住址,所在系), 课程(课程号,课程名,课程性质,学分数,开课系,开课学期,教师), 成绩(学号, 课程号, 开课学期,平时成绩,考试成绩,总评成绩)。 请用指定的方法定义下列完整性约束:

1、每个学期每个学生至多可选8门课程(用断言)。 Create assertion ass1 check

( 8>=all(select count(distinct (cno))

From grade

Group by sno,term

) );

2、如果总评成绩修改后低于60分,那么,如果平时成绩大于80分,在修改后的 总评成绩上再增加考试成绩的8%,但不得超过60分(用SQL3触发器)。 create trigger trig1

after update of ggrade on grade referencing

old as oldtuple new as newtuple

when (newtuple.ggrage<60 and oldtuple.egrade>80)

update grade

set ggrade=newtuple.ggrade + oldtuple.pgrade * 0.08

where sno = newtuple.sno and cno = newtuple.cno and term = newtuple.term and (60>=newtuple.ggrade + oldtuple.pgrade * 0.08) update grade set ggrade=60 where sno = newtuple.sno and cno = newtuple.cno and term = newtuple.term and (60

3. 某图书借阅管理数据库有如下关系模式:

书籍表(书号, 书名, 数量, 分类, 状态, 出版社名) 读者表(借书证号, 姓名, 年龄, 电话, 地址)

借阅情况表(借书证号, 书号, 借书日期, 还书日期) 1)把对书籍表的查询、修改权和转授权授予用户admin。 Grant select,update on 书籍表 to admin With grant option

2)使每个人都能查询未出借图书的借阅情况,但不能直接查看借阅情况表。 create view A as

Select 书籍表.所有属性 from 书籍表,借阅情况表

Where 书籍表.书号=借阅表.书号 and 书籍.状态=’未出借’ Grant select on A to public 三、 作业:

1. 课本Page196:习题8.19。 2. 课本Page196:习题8.20。 3. 课本Page215:习题9.5。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库上海大学数据库2原理研讨+作业的个人解答(3)在线全文阅读。

上海大学数据库2原理研讨+作业的个人解答(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/592991.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: