UNLOCK A WAIT WAIT UNLOCK B XLOCK A WAIT 读A=0 WAIT 。。。。。。 WAIT UNLOCK A XLOCK A UNLOCK B WAIT 读A=0 。。。。 UNLOCK A UNLOCK B
(5) T1 T2 T3 XLOCK A XLOCK B WAIT 读A=0 读B=0 WAIT
A=A+2 B=B*2 WAIT WRITE A=2 WRITE B=0 WAITXLOCL B XLOCKA WAIT
遵守两段锁协议死锁情况
五、程序设计题(本大题共2小题,每小题15分,共30分)
1.对于教学数据库的三个基本表
学生 student (sno,sname,sex,sage,sdept)
学习 sc(sno,cno,grade)
课程 course(cno,cname,cpno,ccredit) 试用SQL语句表示:下列语句。 (1)
有不姓刘的同学的学号和姓名\
\刘%'\ (2)\查询课程名是数据库原理的课程号和学分\
(3)查询所有选修了1号课程的同学的姓名\
\数据库原理'\
\select sname from student where in (select from sc where cno='1')\ (4)查询比计算机系(CS)所有年龄都小的其它系学生\
\select * from student where sage (5)查询至少比计算机系(CS)中1个同学龄都大的同学名单(不含计算机系)\ \select * from student where sage >any (select sage from student where sdept='CS') and sdept not like'CS'\ 2. 有一个SPJ数据库,包括S,P,J,SPJ四个关系模式(20分) 供应商表S(SNO,SNAME,STATUS,CITY); SPJ表 零件表P(PNO,PNAME,COLOR,WEIGHT); 工程项目表J(JNO,JNAME,CITY); 供应情况表SPJ(SNO,PNO,JNO,QTY); J表 S表 P表 请用关系代数完成如下查询: 1. 求供应工程J3零件的供应商号 SNO 2. 求供应工程J3件P3的供应商号吗SNO 3. 求供应工程J3零件为红色的供应商号码SNO 4. 求没有使用南京供应商生产的红色零件的工程号JNO 5.求至少用了供应商S3所供应的全部零件的工程号JNO 1. 2. 3. 4. ∏sno(σJNO=‘J3’(SPJ)) ∏sno(σJNO=‘J3’ ΛPNO=’P2’(SPJ)) ∏sno(σJNO=‘J3’(SPJ)∞σcolor=‘红’(P)) ∏jno(SPJ)-∏jno(∏sno(σcity=‘南京’(S))∞∏sno,jno (SPJ)∞∏jno σcolor=‘红’(P)) 5. ∏ jno, pno (SPJ)÷∏pno(σsno=‘s3’(SPJ))