数据库实验5:视图的定义及使用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验5:视图的定义及使用

【目的要求】

熟练掌握在SQL Server2005中用T-SQL语句定义视图的用法,加深对视图作用的理解。

【实验内容】

1、视图的创建:

◆ 创建信息系学生信息的视图(student1);

create view student1

as

select sno,sname,sage from student

where sdept='is';

◆ 创建信息系选修了1号课程的学生的视图;

create view is_s1(sno,sname,grade)

as

select student.sno,sname,grade from student,sc

where sdept='is'and student.sno=sc.sno and o='1';

◆ 建立信息系选修了1号课程且成绩在90分以上的学生的视图;

create view is_s2

as

select sno,sname,grade from is_s1

where grade>=90;

◆ 创建一个反映学生出生年份的视图

create view bt_s(sno,sname,sbirth)

as

select sno,sname,year(getdate())-sage from student;

◆ 将所有女生的记录定义为一个视图;

create view f_student(f_sno,name,sex,age,dept)

as

select*from student

where ssex='女';

◆ 将所有学生的学号和他的平均成绩定义为一个视图S_G。create view s_g(sno,gavg)

as

select sno,avg(grade)from sc

group by sno;

2、视图结构的修改:

◆ 将视图student1修改为信息系的所有女生的视图;alter view studen1(sno,sname,sage)

as select sno,sname,sage

from student where ssex='女'and sdept='is';

3、查询视图

◆ 在信息系的学生视图中查询年龄小于20岁的学生: select sno,sage from student1

where sage<20;

◆ 查询信息系选修了1号课程的学生:

select student1.sno,sname from student1,sc

where student1.sno=sc.sno and o='1';

◆ 在视图S_G中查询平均成绩在90分以上的学生的学号和平均成绩: select*from s_g

where gavg>=90;

4、更新视图:

◆ 将信息系学生视图IS_Student中学号为“95002”学生姓名改为”刘辰”;update student1

set sname='刘辰'

where sno='95002';

◆ 向信息系学生视图IS_Student中插入一个新的学生记录, 学号为95029,姓

名为”赵新”, 年龄为20岁;

insert

into student

values('200215129','赵新','男',20,'is');

◆ 删除信息系学生视图IS_Student中学号为95004的学生的记录。

delete

from student

where sno='200215129'and sdept='is';

5、删除视图

删除视图IS_S。

相关文档
最新文档