实验七:创建及管理视图
2. 以实验3数据库为基础数据,请使用T-SQL语句完成以下内容,并将SQL语句写在实验报告册中:
1) 创建stu_CS视图,包括CS系所有学生的基本信息;
CREATE VIEW stu_cs
AS
SELECT sno,sname,sage,ssex from student
Where sdept=‘CS’
2) 创建stu_name,包括学生的学号、姓名、年龄及系别;
CREATE VIEW stu_cs
AS
SELECT sno,sname,sage,sdept from student
3) 创建CS_age_20视图,包括CS系学生年龄在20岁以上的基本信息;并保证对视
图文本的修改都要符合年龄大于20这个条件。
CREATE VIEW cs_age_20
AS
SELECT sno,sname,ssex,sage from student
where sage>20 and sdept=‘CS’
WITH CHECK OPTION
4) 建立IS系选修了2号课程的学生视图stu_is_c2;
CREATE VIEW stu_is_c2 (学号,姓名,成绩)
AS
SELECT Student. Sno,Sname,Grade
FROM Student,SC
WHERE Sdept= ‘IS’ AND SC.Cno= '2' AND Student.Sno=SC.Sno
5) 创建一个视图stu_cg,用于查看学生学号、姓名、课程和成绩信息,并用WITH
ENCRYPTION加密。
CREATE VIEW stu_cg
WITH ENCRYPTION
AS
SELECT student.sno, sname, cname, grade
FROM student, course, sc
WHERE student.sno =sc.sno AND course.cno=sc.cno
6) 创建一个视图stu_rs,用于查看选修各门课程的学生的人数。
CREATE VIEW stu_rs(课程号,人数)
AS
SELECT cno, count(*) FROM SC
GROUP BY cno
7) 建立一个显示各系学生平均年龄的视图stu_avgage。
CREATE VIEW stu_avgage(sdept,avgage)
AS
SELECT sdept,AVG(sage)
FROM student
GROUP BY sdept
8) 向CS系学生视图stu_CS中插入一个新的学生记录,学号为200515026,姓名为
“赵红平”,性别为男,年龄21岁;
Insert into stu_CS
Values('200515006','赵红平', '男',21)
9) 利用视图stu_CS修改学号为200515001的学生姓名为“赵青青”;
update stu_CS
set sname='赵青青'
where sno='200515001'
10)
利用视图stu_CS删除CS系学号为200515003的记录;
DELETE
FROM stu_cs
WHERE Sno= '200515003'
11)
修改视图stu_CS为只包含CS系学生的学号、姓名和性别;
Alter view stu_cs
AS
Select sno,sname,ssex from student
12)
利用视图将学号为200515023的学生记录重新设置:名字为王婧婧、系别为IS、
年龄增加一岁;
update stu_CS
set sname='王婧婧,sdept=’IS’,sage=sage+1
where sno='200515023'
13)
利用stu_CS视图查看CS系中年龄大于该系平均年龄的学生的基本信息;
SELECT *
FROM stu_cs
WHERE sage>=(select avg(sage) from stu_cs )
14)
删除视图CS_age_20;
DROP VIEW CS_age_20
因篇幅问题不能全部显示,请点此查看更多更全内容