5、创建一个视图v-avgstu,查询每个学生的学号、姓名及平均分,并且按照平均分降序排序 SQL代码: USE teaching GO CREATE VIEW v_avgstu AS SELECT TOP(100) PERCENT student.studentno,studnt.sname,AVG(score.final) AS 'average' FROM student,score WHERE student.studentno=score.studentno AND score.final IS NOT NULL GROUP BY student.studentno,student.sname ORDER BY AVG(score.final) DESC
5
GO SELECT * FROM v_avgstu 实验结果: 6、修改v-avgstu的视图定义,添加WITH CHECK OPTION选项 SQL代码: USE teaching GO ALTER VIEW v_avgstu AS SELECT * FROM teacher WHERE department='计算机学院' WITH CHECK OPTION GO 6
实验结果: 7、通过视图v-avgstu向基表teacher中分别插入数据(‘05039’,‘张馨月’,‘计算机应用’,‘讲师’,‘计算机学院’)和(‘06018’,‘李诚’,‘机械制造’,‘副教授’,‘机械学院’),并查看插入数据的情况 SQL代码: USE teaching GO INSERT INTO v_teacher VALUES('05039','张馨月','计算机应用','讲师','计算机学院') INSERT INTO v_teacher VALUES('06018','李诚','机械制造','副教授','机械学院') SELECT * FROM v_teacher SELECT * 7
FROM teacher 实验结果: 8、通过视图v-teacher将基表teacher中教师编号为05039的教师职称修改为“副教授” SQL代码: USE teaching GO UPDATE v_teacher SET prof='副教授' WHERE teacherno='05039' GO SELECT * FROM teacher 8
实验结果: 实验总结: 通过本次实验掌握了索引、统计信息和视图等数据库对象的基本概念和基本操作。 实验评语: 实验成绩 教师签字 9

