jlfqdAAA西北工业大学数据库实验报告2

  • 格式:docx
  • 大小:79.30 KB
  • 文档页数:8

一.实验内容、步骤以及结果
1.在图形用户界面中对表中的数据进行更新。

(6分.每小题2分)
(1)按照实验一图图中所示数据,输入SPJ数据库所含四张表中的数据。

S表:
/ B47\SQLEXPRESS.SPJ ・ dbO.S B4/\SQLtXPKtSS.SPJ ・ dbo.SPJ Lb4
S10sname city
S123天達
S210北京
S3东方红33北京
NULL NHL At£Z
P表:
B47\SQLEXPRESS.SPJ ・ dbo.P B47\SQLEXPRESS.SPJ - dbo.S B4刀
pno poems color weight
Pl 红12
P2 甥栓绿17
P3 虫腔刀14
P4 甥仝刀红14
AUZ NL^L NULL gyn
J表:
▼1B47\SQLEXPRESS.SPJ - dbo.jEB4ASQLEXPRESS.SPJ • dbo.P
To jnarre city
)JI 三建北斎
J2 _:气长春
33 静厂天津
34 迭船厂天津
D NIAL NULL gm
SPJ 表:
/B47\SQLEXPRESS.SPJ ・ dbo.SPJ ^B4ASQLEXPRESS.SPJ - dbo.J B47\£QI
sno MD no oty
SI Pl JI 200
SI Pl J3 100
SI Pl J4 700
SI P2 J2 100
S2 P3 JI 400
NULL NULL AUL
⑵ 修改S表的任意一条数据把S表中S1的status数据进行了修改
B4ASQLEXPRESS.SPJ - dbo.SPJj B47\SQLEXPRESS.SPJ ・ dboJ B47\SQLEXPR
sno snams stabs city
.0SI 箱洽30|
S2 胜褐10
S3 东方红30
AWZ NHL MJL1
(3)删除S表的任意一条数据。

删除了S3的数据
B47\SQLEXPRESS.SPJ ・ dbo.S B4ASQLEXPRESS.SPJ - dbo.SPJ B4ASQLE:
sio sname sfetus city
30 天津
胜锡10 北京
NULL NULL NULL
3.针对SPJ数据库,用SQL语句完成下而的数据更新。

(12分,每小题3分)
(1)第五版教材第三章第5题的8-口小题。

红色零件颜色修改为蓝色:
⑧UPDATE P
SET COLOR J蓝'
WHERE SNO^红*
pno pnamc color weight
►g 12
P2 釀栓绿17
P3 螺丝刀 E 14
P4 螺幼2a 14
* AW NULL AUZ
⑨由S5供给J4的零件P6改为由S3提供:
Update SPJ
Set sno=z S3/
Where sno=/S5/and pno二〃P6"and jno=/J4?
⑩从供应商关系中删除S2的记录,从供应关系表中删除相应的记录:
Delete
From S
Where sno=/S2/
Delete
From SPJ
>
Where sno=/S2z
请将(S2,J6,P4,200)插入供应情况关系:
Insert into SPJ
Values (/S2// P47J6;200)
4・针对SPJ数据库,用SQL语句完成下而的数据查询。

(52分,每小题4分)(1)第五版教材第三章第4题。

(5道小题)
©:
select distinct sno
from SPJ
②:
select distinet sno
from SPJ
where jno=,Jl,and pno=,Pl l
jno
sno
1 j si

% •…•…•• 2
S3
③ :
select sno from SPJ,P
where jno=,Jl ,and = and color 二'红'
□结果淮
④ :
select distinct jno from SPJ where jno not in
(select j no from SPJ ,P ,S
where = and city 二'天津' and = and color ='红,
)
甜結果上消息
jno 1 j JS
2
J6
⑤ :select jno
from SPJ where pno in
(select pno from SPJ where sno 二'SI') group by jno
having count(pno)=(select count(pno) from SPJ where sno 二M) 3
结果屋消息
pnaine Xy 1100
2螺丝刀
200
3
齿轮200
4凸轮NULL
⑤:
select distinct pno
from S,SPJ
where = and city=‘上海'
□结果A消息
pno
1 l?
2 \
j ........ ;
2 F3
3 F6
©:
select distinet jname from spjj,s

where = and 二‘上海'
and =
©:
select distinct jno
from spj,s
where jno not in (select jno from spj,s
where = and city—天津')
即结果丨矗消氤
jno
i i is i
! !
(4)査询这样的工程:供给该工程的零件P1的平均供应量大于供给工程J1的任何一种零件的
最大供应量:
select Jname
from j,spj
where = and pno='PU and qty > (select MAX(qty)
from spj
where =^1')
二1结果匕消息
5.针对Student数据库用SQL语句完成下而的数据査询。

(12分,每小题4分) (1)查询不选修“C语
言”课程的学生学号。

*
select distinet sno
from sc
where sno not in (select sno
from sc z c
where cname=l C 语言'and =
(2)査询每个学生已经获得的学分的总分(成绩及格表示获得该门课的学分),并按照所获学分
由高到低的顺序输出学号,姓名,所获学分。

select ^name ,sum(ccredit) as ccredit_sum
from C,S,SC
where = and grade>60 and = group by z sname order by ccredit_sum desc
E结果I也消息
⑶!
(4)査询这样的学生姓名:该学生选修了全部课程并且其中一门课在90分以上。

select z sname
from sc ,s
where =
group by z sname
having max(grade)>90 and count(*)=(select count(*)from c)
a牛木,,J >冃思
sn.0 sname
没有符合要求的数拯项
6.针对Student数据库用至少三种不同的SQL语句进行查询:査询选修了课程名为"数据库原理”
的学生学号和姓名,然后自己设讣实验,用数据比较分析三种查询的效率。

(18 分)

(1).自然连接
select ,sname
from s,sc,c
where = and = and cname ='数据库,
]
select distinct ,sname
from s,sc
where = and =(select sno from c,sc
where = and cname=,数据库,)
•••• •••• •••• •••• •••• •••• •••• •••• c
(3〉•恢套査询
select sno,sname
from s
where sno in
(select sno
from sc where eno in
(select eno
from c
where cname ='数据库'))
结论:自然连接代码最短,但是速度最快嵌套査询速度次之
自然连接和嵌套查询结合慢
二.实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)
除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。

2.熟悉了一些具体的操作,査询操作的一些注意事项
2•掌握了利用datediff函数求查询运行时间
批阅者:批阅日期: 实验成绩: 批注:。