实验 视图的定义及使用

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

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

掌握视图的用法,加深对视图作用的理解。

实验内容:

1、创建、修改和删除视图。

2、利用视图进行查询。

实验步骤:

仅以命令方式来操作:

一、视图的创建:

1.创建信息系学生信息的视图:

create view IS_S

as

select sno,sname,sage from student

where sdept='IS'

2. 创建信息系选修了1号课程的学生的视图:

create view s1(sname,sno,sage)

as

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

where student.sno=sc.sno and cno='1'and sdept='IS' 3. 建立信息系选修了1号课程且成绩在90分以上的学生的视图: create view view2(sname,sno,sage,grade)

as

select sname,student.sno,sage,grade from student,sc where student.sno=sc.sno and cno='1'and grade>90

4. 创建一个反映学生出生年份的视图:

create view view3(sno,sname,sbirth)

as

select sno,sname,2012-sage 出生年月from student

5. 将所有女生的记录定义为一个视图:

create view view4(sno,sname,ssex,sage,sdept)

as

select*from student

where ssex='女'

6. 将所有学生的学号和他的平均成绩定义为一个视图:

create view view5(sname,sno,grade)

as

select sname,student.sno,avg(grade)from student,sc where student.sno=sc.sno

group by student.sname,student.sno

二、查询视图

7. 在信息系的学生视图中查询年龄小于20岁的学生:

select sname,sno,sage from IS_S

where sage<20

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

select*from s1

9. 在视图S_G中查询平均成绩在90分以上的学生的学号和平均成绩:

select sname,sno,avg(grade)from view5

where avg(grade)>90

三、更新视图:

10.将信息系学生视图IS_Student中学号为”95002”的学生姓名改为”刘辰”: update IS_S

set sname='刘晨'

where sno='95002'

11. 向信息系学生视图IS_Student中插入一个新的学生记录, 学号为95029,姓名为”赵新”, 年龄为20岁:

insert

into IS_S(sno,sname,sage)

values('95029','赵新',29)

12. 删除信息系学生视图IS_Student中学号为95004的学生的记录:

delete from IS_S

where sno='95004'

四、删除视图:

13. 删除视图IS_S1:

drop view IS_S cascade

思考:

1.创建所有学生的基本信息和选课信息的视图

2.基于上述视图查询各系学生各门功课的平均成绩.

相关文档
最新文档