第7章 关系数据库系统习题解答.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流第7章 关系数据库系统习题解答.精品文档.8针对图7-5的学生课程数据库,试用关系代数完成如下查询:(1) 求选修了“数据库”课程的学生学号;(2) 求选修了全部课程的学生学号;(3) 求选修了“操作系统”课程的学生学号,姓名及成绩。(4) 求学生“李勇”选修的课程号,课程名及成绩。答:(1)SELECT SnoFROM SCWHERE Cno='1';(2) SELECT SnoFROM SCGROUP BY Sno HAVING COUNT(*)>'7';(3) SELECT Student.Sno,Sname, GradeFROM Student,SCWHERE Student.Sno=SC.Sno AND Cno='4';(4)SELECT Cno,Cname,GradeFROM Student,SC,CourseWHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno AND Sno='02002';10设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S( SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 S表 son sname status city s1 精益 20 天津 s2 盛锡 10 北京 s3 东方红 30 北京 s4 丰泰盛 20 天津 s5 为民 30 上海 p表 pno pname color weight P1 螺母 红 12 P2 螺栓 绿 17 P3 螺丝刀 蓝 14 P4 螺丝刀 红 14 P5 凸轮 蓝 40 P6 齿轮 红 30 J表 JNO JNAME CITY J1 三建 北京 J2 一汽 长春 J3 弹簧厂 天津 J4 造船厂 天津 J5 机车厂 唐山 J6 无线电厂 常州 J7 半导体厂 南京 SPJ表 SNO PNO JNO QTY S1 P1 J1 200 S1 P1 J3 100 S1 P1 J4 700 S1 P2 J2 100 S2 P3 J1 400 S2 P3 J2 200 S2 P3 J4 500 S2 P3 J5 400 S2 P5 J1 400 S2 P5 J2 100 S3 P1 J1 200 S3 P3 J1 200 S4 P5 J1 100 S4 P6 J3 300 S4 P6 J4 200 S5 P2 J4 100 S5 P3 J1 200 S5 P6 J2 200 S5 P6 J4 5001、用SQL语句建立上面4个表2、用sql完成以下各项操作:1)找出所有供应商的姓名和所在城市;2)找出所有零件的名称、颜色、重量;3)找出使用供应商S1所供应零件的工程号码;4)找出工程项目J2使用的各种零件的名称及数量5)找出上海厂商供应的所有零件号码6)找出使用上海产的零件的工程名称7)找出没有使用天津产的零件的工程号码;8)把全部红色零件的颜色改为蓝色;9)由s5供应给J4的零件P6改为由S3供应,请做必要修改;10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;11)请将(S2,J6,P4,200)插入供应情况关系。答:1. 创建表以S表为例,P表、J表、SPJ表同理。create table s(sno char(5),sname char(20),status char(8),city char(15)向表内插入记录,以第一条为例,其它同理。insert into s values('s1','精益','20','天津')2. 查询1)select sname,city from s2)select pname,color,weight from p3)select jno from spj where sno='s1'4)select pname,qty from p,spj where p.pno=spj.pno and jno='j2'5)select pno from s,spj where s.sno=spj.sno and city='上海'6)select jno from s,spj where s.sno=spj.sno and city='上海'7)select jno from s,spj where s.sno=spj.sno and city not in('上海')8)update p set color='蓝' where color='红'9)update spj set sno='s3' where sno='s5' and jno='j4' and pno='p6'10)delete from s where sno='s2' delete from spj where sno='s2'11)insert into spj values('s2','j6','p4','200')