上机实验七——视图的建立及操作
一、实习目的:
掌握创建、删除、和查询视图的方法,验证可更新视图和不可更新视图。
二、实习准备:
1.复习第三章3.6节视图
2. 完成习题三第16题中的各项操作的SQL语句。 3.了解可更新视图和不课更新视图
三、实习内容:验证习题三第16题中的各项操作的SQL语句。
① 建立01311班选修了1号课程的学生视图Stu_01311_1 CREATE VIEW Stu_01311_1 AS SELECT * FROM Grade
WHERE Cno='1'AND Sno in( SELECT Sno FROM Student
WHERE Clno='01311')
WITH CHECK OPTION
② 建立01311班选修了1号课程并且成绩不及格的学生视图Stu_01311_2 CREATE VIEW Stu_01311_2 AS SELECT * FROM Grade
WHERE Cno='1'AND Gmark<60 AND Sno in( SELECT Sno FROM Student
WHERE Clno='01311') WITH CHECK OPTION
③ 建立视图Stu_year,由学生学号、姓名、出生年份组成
CREATE VIEW Stu_year
AS SELECT Sno,Sname,year=2001-Sage FROM Student
④ 查询1990年以后出生的学生姓名 SELECT Sname FROM Student
WHERE 2001-Sage<1990;
⑤查询01311班选修了1号课程并且成绩不及格的学生的学号、姓名、出生年份 SELECT Sno,Sname,2014-Sage FROM Student
WHERE Clno=01311 AND EXISTS(
SELECT * FROM Grade
WHERE Gmark<60 AND Sno IN(
SELECT Sno FROM Student
WHERE Clno=01311));
2、建立一视图Class_grade,用来反映每个班的所有选修课的平均成绩,并对其进行更新操作。 创建的视图能否更新?为什么?
CREATE VIEW Class_grade(Clno,Cno,AVG_Gmark) AS SELECT Clno,Cno,AVG(Gmark) FROM Student,Grade
WHERE Student.Sno=Grade.Sno GROUP BY Clno,Cno
不能,因为视图不是真正存在的,是虚表,其中并没有实际存储的数据。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库上机实验7实验报告在线全文阅读。
相关推荐: