西北工业大学数据库实验报告2.docx
- 文档编号:6615820
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:10
- 大小:140.67KB
西北工业大学数据库实验报告2.docx
《西北工业大学数据库实验报告2.docx》由会员分享,可在线阅读,更多相关《西北工业大学数据库实验报告2.docx(10页珍藏版)》请在冰豆网上搜索。
西北工业大学数据库实验报告2
《数据库原理》实验报告
题目:
实验二
基本表的数据操作
学号
姓名
班级
日期
2014302692
孟玉军
10011402
16.10.13
1.实验内容、步骤以及结果
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小题。
红色零件颜色修改为蓝色:
⑧UPDATEP
SETCOLOR=’蓝’
WHERESNO=’红’
⑨由S5供给J4的零件P6改为由S3提供:
UpdateSPJ
Setsno=’S3’
Wheresno=’S5’andpno=’P6’andjno=’J4’
⑩从供应商关系中删除S2的记录,从供应关系表中删除相应的记录:
Delete
FromS
Wheresno=’S2’
Delete
FromSPJ
Wheresno=’S2’
11.请将(S2,J6,P4,200)插入供应情况关系:
InsertintoSPJ
Values(‘S2’,’P4’,’J6’,200)
3.针对SPJ数据库,用SQL语句完成下面的数据查询。
(52分,每小题4分)
(1)第五版教材第三章第4题。
(5道小题)
①:
selectdistinctsno
fromSPJ
wherejno=’J1’
②:
selectdistinctsno
fromSPJ
wherejno='J1'andpno='P1'
③:
selectsno
fromSPJ,P
wherejno='J1'andSPJ.pno=P.pnoandcolor='红'
④:
selectdistinctjno
fromSPJ
wherejnonotin
(selectjno
fromSPJ,P,S
whereSPJ.sno=S.snoandcity='天津'
andSPJ.pno=P.pnoandcolor='红'
)
⑤:
selectjno
fromSPJ
wherepnoin
(selectpnofromSPJwheresno='S1')
groupbyjno
havingcount(pno)=(selectcount(pno)fromSPJwheresno='J1')
(2)第五版教材第三章第5题的1-7小题。
(7道小题)
①:
selectsno,snamefromS
②:
selectpname,color,weightfromP
③:
selectdistinctjno
fromSPJ
wheresno='S1'
④:
selectpname,qty
fromSPJ,P
wherespj.pno=p.pnoandjno='J2'
⑤:
selectdistinctpno
fromS,SPJ
wherespj.sno=s.snoandcity='上海'
⑥:
selectdistinctjname
fromspj,j,s
wherespj.sno=s.snoands.city='上海'
andspj.jno=j.jno
⑦:
selectdistinctjno
fromspj,s
wherejnonotin(selectjnofromspj,s
wherespj.sno=s.snoandcity='天津')
(3)查询这样的工程:
供给该工程的零件P1的平均供应量大于供给工程J1的任何一种零件的最大供应量:
selectspj.jno,jname
fromj,spj
wherespj.jno=j.jnoandpno='P1'andqty>(selectMAX(qty)
fromspj
wherespj.jno='J1')
4.针对Student数据库用SQL语句完成下面的数据查询。
(12分,每小题4分)
(1)查询不选修“C语言”课程的学生学号。
selectdistinctsno
fromsc
wheresnonotin(selectsno
fromsc,c
wherecname='C语言'ando=o)
(2)查询每个学生已经获得的学分的总分(成绩及格表示获得该门课的学分),并按照所获学分由高到低的顺序输出学号,姓名,所获学分。
selectSC.sno,sname,sum(ccredit)asccredit_sum
fromC,S,SC
whereo=oandgrade>60andsc.sno=s.sno
groupbySC.sno,sname
orderbyccredit_sumdesc
(3)查询这样的学生姓名:
该学生选修了全部课程并且其中一门课在90分以上。
selectsc.sno,sname
fromsc,s
wheresc.sno=s.sno
groupbysc.sno,sname
havingmax(grade)>90andcount(*)=(selectcount(*)fromc)
没有符合要求的数据项
5.针对Student数据库用至少三种不同的SQL语句进行查询:
查询选修了课程名为“数据库原理”的学生学号和姓名,然后自己设计实验,用数据比较分析三种查询的效率。
(18分)
(1).自然连接
selectsc.sno,sname
froms,sc,c
wheres.sno=sc.snoando=oandcname='数据库'
(2).嵌套子查询+自然连接
selectdistinctsc.sno,sname
froms,sc
wheres.sno=sc.snoandsc.sno=(selectsnofromc,sc
whereo=oandcname='数据库')
(3).嵌套查询
selectsno,sname
froms
wheresnoin
(selectsno
fromsc
wherecnoin
(selectcno
fromc
wherecname='数据库'))
结论:
自然连接代码最短,但是速度最快
嵌套查询速度次之
自然连接和嵌套查询结合慢
2.实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)
除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。
1.熟悉了一些具体的操作,查询操作的一些注意事项
2.掌握了利用datediff函数求查询运行时间
批阅者:
批阅日期:
实验成绩:
批注:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西北工业大学 数据库 实验 报告