实验7 数据库的视图定义及维护实验
文章目录
- 实验7 数据库的视图定义及维护实验
- 1.建立所有女生的视图Female_student;
- 2.建立IS系学生视图IS_student,并保证进行修改和插入操作时仍保证该视图只有信息系的学生;
- 3.建立每个学生及其选修课程的视图v_student_xk;
- 4.在IS_student的基础上建立信息系学生选课情况的视图;
- 5.v_student_xk的基础上建立信息系学生选课情况的视图;
- 6.在查询分析器中删除所建立的视图;
- 7.用查询分析器完成上面视图的建立;
- 8.查询女生的人数;
- 9.查询信息系学生的详细记录;
- 10.查询信息系学生中选修了“信息系统”的学生姓名;
- 11.查询选修了1号课且成绩在90分以上的学生的姓名;
- 12.查询每个学生的平均成绩;
- 13.向信息系学生视图IS_student插入一条新的学生记录,(95005,赵新,男,20,IS);
- 14.将信息系学号为95002的学生姓名由“刘晨”该为“刘成”;
- 15.删除信息系学号为95004的学生信息;
- 实验目的
本实验的目的是使学生掌握视图的定义与维护操作,加深对视图在关系数据库中的作用的理解。
2.实验时数
视图是根据子模式建立的虚拟表。一个视图可以由一个表构造,也可以由多个表构造。利用企业管理器和视图创建向导进行创建,查看和修改视图就如同对表的操作一样,非常容易。
3.实验内容
本实验的主要内容是:
1) 创建和删除视图
2) 查询和更新视图
具体完成以下例题。
1.建立所有女生的视图Female_student;
create view Female_student
as
select *
from s
where ssex='女'
with check option;
go
select * from Female_student;
2.建立IS系学生视图IS_student,并保证进行修改和插入操作时仍保证该视图只有信息系的学生;
create view IS_student
as
select *
from s
where sdept='信息系'
with check option;
go
select * from IS_student
3.建立每个学生及其选修课程的视图v_student_xk;
create view v_student_xk
as
select s.*,sc.cno,grade
from s,sc
where s.sno=sc.sno;
go
select * from v_student_xk;
4.在IS_student的基础上建立信息系学生选课情况的视图;
create view v_is_is_sc
as
select *
from IS_student
where sdept='信息系';
go
select * from v_is_is_sc;
5.v_student_xk的基础上建立信息系学生选课情况的视图;
create view v_v_is_sc
as
select *
from v_student_xk
where sdept='信息系';
go
select * from v_v_is_sc;
6.在查询分析器中删除所建立的视图;
drop view Female_student
drop view IS_student
drop view v_student_xk
drop view v_is_is_sc
drop view v_v_is_sc
7.用查询分析器完成上面视图的建立;
重复之前的操作
在上面的视图基础上完成下列查询:
8.查询女生的人数;
select COUNT(*)'女生人数'
from Female_student
9.查询信息系学生的详细记录;
select *
from IS_student
10.查询信息系学生中选修了“信息系统”的学生姓名;
select sname
from v_student_xk
where cno='1';
11.查询选修了1号课且成绩在90分以上的学生的姓名;
select sname
from v_student_xk
where cno='1' and grade>90
12.查询每个学生的平均成绩;
select sno,AVG(grade)
from v_student_xk
group by sno;
13.向信息系学生视图IS_student插入一条新的学生记录,(95005,赵新,男,20,IS);
insert into IS_student values('95005','赵新','男','20','信息系')
select * from IS_student
14.将信息系学号为95002的学生姓名由“刘晨”该为“刘成”;
insert into IS_student values('95002','刘晨','男','25','信息系')
go
update IS_student
set sname='刘成'
where sno='95002'
select * from IS_student;
15.删除信息系学号为95004的学生信息;
insert into IS_student values('95004','何宝','男','24','信息系')
go
delete IS_student
where sno='95004';
select * from IS_student;
收获体会:通过本次实验,掌握了视图的定义与维护操作,能够熟练的对视图进行创建、删除、查询和更新。
数据库的视图定义及维护实验:https://download.youkuaiyun.com/download/wuhan_aaa/18805101