《西北工业大学数据库实验报告(共10页).doc》由会员分享,可在线阅读,更多相关《西北工业大学数据库实验报告(共10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数据库原理实验报告题目:实验二基本表的数据操作学号姓名班级日期 孟玉军16.10.13一. 实验内容、步骤以及结果1 在图形用户界面中对表中的数据进行更新。(6分,每小题2分)(1) 按照实验一图2.1-图2.4中所示数据,输入SPJ数据库所含四张表中的数据。S表:P表:J表:SPJ表:(2) 修改S表的任意一条数据把S表中S1的status数据进行了修改(3) 删除S表的任意一条数据。删除了S3的数据2 针对SPJ数据库,用SQL语句完成下面的数据更新。(12分,每小题3分)(1) 第五版教材第三章 第5题的8-11小题。红色零件颜色修改为蓝色:UPDATE PSE
2、T COLOR=蓝WHERE SNO=红由S5供给J4的零件P6改为由S3提供:Update SPJSet sno=S3Where sno=S5and pno=P6and jno=J4从供应商关系中删除S2的记录 ,从供应关系表中删除相应的记录:Delete From SWhere sno=S2Delete From SPJWhere sno=S211.请将(S2,J6,P4,200)插入供应情况关系:Insert into SPJValues (S2, P4,J6,200)3 针对SPJ数据库,用SQL语句完成下面的数据查询。(52分,每小题4分)(1) 第五版教材第三章 第4题。(5道小题
3、):select distinct sno from SPJwhere jno=J1:select distinct sno from SPJwhere jno=J1and pno=P1:select snofrom SPJ,Pwhere jno=J1and SPJ.pno=P.pno and color=红:select distinct jno from SPJwhere jno not in(select jno from SPJ,P,S where SPJ.sno=S.sno and city=天津 and SPJ.pno=P.pno and color =红) :select jno
4、 from SPJwhere pno in (select pno from SPJ where sno=S1 )group by jnohaving count(pno)=(select count(pno) from SPJ where sno =J1)(2) 第五版教材第三章 第5题的1-7小题。(7道小题):select sno,sname from S:select pname ,color ,weight from P :select distinct jno from SPJwhere sno=S1:select pname,qtyfrom SPJ,Pwhere spj.pno=
5、p.pno and jno=J2:select distinct pnofrom S,SPJwhere spj.sno=s.sno and city=上海:select distinct jnamefrom spj,j,swhere spj.sno=s.sno and s.city =上海 and spj.jno=j.jno:select distinct jnofrom spj,swhere jno not in (select jno from spj,s where spj.sno=s.sno and city=天津)(3) 查询这样的工程:供给该工程的零件P1的平均供应量大于供给工程J
6、1的任何一种零件的最大供应量: select spj.jno,jnamefrom j,spjwhere spj.jno=j.jno and pno=P1 and qty (select MAX(qty) from spj where spj.jno=J1)4 针对Student数据库用SQL语句完成下面的数据查询。(12分,每小题4分)(1) 查询不选修“C语言”课程的学生学号。select distinct sno from sc where sno not in (select sno from sc,cwhere cname=C语言 and o=o)(2) 查询每个学生已经获得的学分的总
7、分(成绩及格表示获得该门课的学分),并按照所获学分由高到低的顺序输出学号,姓名,所获学分。select SC.sno,sname ,sum(ccredit) as ccredit_sumfrom C,S,SCwhere o=o and grade60 and sc.sno=s.snogroup by SC.sno,snameorder by ccredit_sum desc(3) 查询这样的学生姓名:该学生选修了全部课程并且其中一门课在90分以上。select sc.sno,snamefrom sc ,swhere sc.sno=s.snogroup by sc.sno,snamehaving
8、 max(grade)90 and count(*)=(select count(*)from c)没有符合要求的数据项5 针对Student数据库用至少三种不同的SQL语句进行查询:查询选修了课程名为“数据库原理”的学生学号和姓名,然后自己设计实验,用数据比较分析三种查询的效率。(18分)(1). 自然连接select sc.sno,snamefrom s,sc,cwhere s.sno=sc.sno and o=o and cname =数据库(2).嵌套子查询+自然连接select distinct sc.sno,sname from s,scwhere s.sno=sc.sno and
9、 sc.sno =(select sno from c,sc where o=o and cname=数据库 )(3).嵌套查询select sno,sname from swhere sno in (select sno from sc where cno in (select cnofrom cwhere cname =数据库) )结论:自然连接代码最短,但是速度最快 嵌套查询速度次之 自然连接和嵌套查询结合慢二. 实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。1.熟悉了一些具体的操作,查询操作的一些注意事项2.掌握了利用datediff函数求查询运行时间批阅者: 批阅日期:实验成绩: 批注:专心-专注-专业