一、 实验目的与要求
掌握视图定义和应用的方法,体会视图和基本表的异同之处。
二、 实验方案
练习教材 3.6 节例题1~例题 14
三、 实验结果和数据处理
例 3.84 建立信息系学生的视图
代码:
CREATE VIEW IS_student
AS
SELECT sno,sname,sage
FROM student
WHERE sdept='IS';
例 3.85 建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图有信息
系的学生
代码:
CREATE VIEW IS_student
AS
SELECT sno,sname,sage
FROM student
WHERE sdept='IS'
WITH CHECK OPTION;
例 3.86 建立信息系选修了 1 号课程的学生的视图(包括学号,姓名,成绩)
代码:
CREATE VIEW IS_S1(sno 学号,sname 姓名,grade 成绩)
AS
SELECT student.sno,sname,grade
FROM student,SC
WHERE student.sno=SC.sno
AND sdept='IS' AND cno='1';
例 3.87 建立信息系统选修了 1 号课程且成绩在 90 分以上的学生视图
代码:
CREATE VIEW IS_S2
AS
SELECT sno,sname,grade
FROM IS_S1
WHERE grade>90;
例 3.88 定义一个反映学生出生年份的视图
代码:
BT_S(sno,sname,Sbirth)
CREATE VIEW
AS
SELECT sno,sname,2018-sage
FROM student;
例 3.89 将学生的学号及平均成绩定义为一个视图
代码:
CREATE VIEW S_G(sno,Gavg)
AS
SELECT sno,AVG(grade)
FROM SC
GROUP BY sno;
例 3.90 将 student 表中所有女生记录定义为一个视图
代码:
CREATE VIEW F_student(F_sno,F_sname,F_sex,F_age,F_sdept)
AS
SELECT sno,sname,ssex,sage,sdept
FROM student
WHERE ssex='女';
例 3.91 删除视图 BT_S 和 IS_S1
代码:
DROP VIEW BT_S;
DROP VIEW IS_S1;
例 3.92 在信息系学生的视图中找出年龄小于 20 岁的学生
代码:
SELECT sno,sname
FROM IS_student
WHERE sage<20;