where sno=students.sno and cno=courses.cno));
图 7查询四
实验3: 数据修改、删除
(1) 把C2课程的非空成绩提高10%。 use ems; go update sc
set grade=grade*1.1
where sc.cno='c2' and sc.cno is not null
图 8修改
(2) 在SC表中删除课程名为“物理”的成绩所对应的元组。delete from SC
where cno in (select cno from courses where cname='物理')
16
图 9删除
(3) 在S和SC表中删除学号为S8的所有数据。 delete from sc where sc.sno='s8' delete from students where students.sno='s8'
图 10删除二
17
实验4:视图的操作
(1) 建立男生学生的视图,属性包括学号,姓名,选修课程名和成绩。 use ems; go
create view student_m(sno,sname,cname,grade) as
select students.sno,students.sname,cname,grade from sc,students,courses
where students.sno=sc.sno and courses.cno=sc.cno and sex='M'
图 11视图
(2) 在男生视图中查询平均成绩大于80分的学生学号和姓名。 use ems; go
select distinct students.sno,students.sname from student_m,students
where student_m.sno=students.sno and grade>80
18
图 12视图查询
实验5:库函数,授权控制
(1) 计算每个学生选修课程的门数、平均成绩。 use ems; go
select students.sno,students.sname,count(cno) 选修门数,avg(grade) 平均成绩from students,sc
where students.sno=sc.sno group by students.sno,sname
图 13平均成绩
(2) 建立一个合法的用户,将SC表的查询权限授予该用户。 use ems go
exec sp_addlogin ems,ems use ems go
exec sp_grantdbaccess 'ems','ems'
19
图 14授权
(3) 使用GRANT语句,把对基本表students、Courses、SC的使用权限授予其他用户。 use ems go
GRANT all privileges --授予权限 ON Courses TO guest;
GRANT all privileges --授予权限 ON students TO guest;
GRANT all privileges --授予权限 ON sc TO guest;
图 15授权二
实验6:数据库的备份、恢复
(1) 使用完全备份将你的实验数据库备份到软盘。 use ems go
EXEC sp_addumpdevice 'DISK','backupdevice_ems', 'd:\\backupdev\\ems.bak'
20