实验六 视图的操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六视图的操作
一、实验目的
1、理解视图的概念。
2、掌握在查询分析器中创建、查询、删除视图。
二、实验要求
使学生能够理解SQL语句创建视图,掌握在查询分析器“的”改为“中”的使用SQL 语句创建、查询、删除视图。
三、实验环境
1、操作系统:WinXp Professional
2、数据库:SQL Server 2000个人版
四、实验内容和步骤
1、语句格式
CREATE VIEW
<视图名> [(<列名> [,<列名>]…)]
AS <子查询>
[WITH CHECK OPTION];
例6-1建立计算机系学生的视图。
CREATE VIEW CS_Student
AS
SELECT Sno,Sname,Sage 几个单词之间的逗号都要在字母输入状态下
FROM Student
WHERE Sdept= 'cs';这个分号应该去掉
在查询分析器中的结果如图6-1所示。
图6-1 创建计算机系学生视图窗口
例6-2建立计算机系选修了2号课程的学生视图。
CREATE VIEW CS_S1(Sno,Sname,Grade) 此行几个单词的逗号都是字母状态下的逗号
AS
SELECT Student.Sno,Sname,Grade 此行几个单词间的逗号都是字母状态下的逗号
FROM Student,SC
WHERE Sdept= 'CS' AND
Student.Sno=SC.Sno AND
o= '2';去掉此处的分号
在查询分析器中的结果如图6-2所示。
图6-2 计算机系选修了2号课程的学生视图窗口例6-3建立计算机系选修了2号课程且成绩在90分以上的学生的视图。
CREATE VIEW CS_S2
AS
SELECT Sno,Sname,Grade 这几个单词之间的逗号为字母输入状态下的逗号
FROM CS_S1
WHERE Grade>=90;去掉这个分号
在查询分析器中的结果如图6-3所示。
图6-3满足多个条件的学生视图窗口
例6-4将学生的学号及他的平均成绩定义为一个视图
CREATE VIEW S_G(Sno,Gavg) 此行中为英文逗号
AS
SELECT Sno,A VG(Grade) 此行中为英文逗号
FROM SC
GROUP BY Sno;去掉该分号
在查询分析器中的结果如图6-4所示。
图6-4 计算机系学生的视图窗口
2、查询视图
例6-5查询计算机系选修了3号课程的学生
SELECT CS_student. Sno,Sname 此行中为英文逗号
FROM CS_Student,SC 此行中为英文逗号
WHERE CS_Student.Sno =SC.Sno AND
o= '2';去掉该分号
在查询分析器中的结果如图6-5所示。
图6-5 计算机系学生的视图窗口
例6-6 建立1号课程的选课视图,并要求透过该视图进行的更新操作只涉及计算机系选修了2号课程成绩在70—90分的同学详细情况。
CREATE VIEW CS_SC_student
AS
SELECT student.Sno,Cno,Grade
FROM SC,student
WHERE Cno= '2' and student.sno=sc.sno
AND (grade BETWEEN 70 AND 90) and sdept='cs'
在查询分析器中的结果如图6-6所示。
图6-6 计算机系学生的视图窗口3、删除视图
例6-7删除视图CS_S1
DROP VIEW CS_S1;
在查询分析器中的结果如图6-7所示。
图6-7 计算机系学生的视图窗口
小结:本次实验课巩固了视图的概念,要求学生能够掌握查询分析器的使用SQL语句进行创建视图,查询视图,删除视图的方法。
五、实验练习题
练习1:创建一个信息系的视图IS_Student
练习2:定义一个反映学生出生年份的视图
练习3:将Student表中所有女生记录定义为一个视图
练习4:在信息系学生的视图中找出年龄小于20岁的学生。
练习5:查询信息系选修了1号课程的学生
练习6:在S_G视图中查询平均成绩在90分以上的学生学号和平均成绩
练习7:将信息系学生视图IS_Student中学号95002的学生姓名改为“刘辰”
练习8:向信息系学生视图IS_S中插入一个新的学生记录:95029,赵新,20岁
练习9:删除视图CS_S中学号为95029的记录