数据库原理实验报告
学号: xxxxxxx 班级: xxxxxx 姓名: xxx 授课教师:xxxx
实验五 数据库视图的定义和使用(2学时)
一.实验目的
1.掌握视图的用法,加深对视图作用的理解;
2.创建、修改、更新和删除视图;
3.利用视图进行查询;
4.查看数据库内的所有用户定义视图。
二.实验内容(以下实验报告内容包括所执行的SQL语句、关键步骤的文字说明和相关屏幕截图)
基于“”文件构建学生管理数据库并插入数据,数据库名为 db_*。其中*表示“你们姓名的拼音”(例如吕杰的为“db_lvjie”)。数据库db_*包含下列3个表,分别为学生信息表student,课程信息表course,学生选课信息表sc。
基于学生管理数据库编写SQL语句执行以下查询。
视图的创建
创建信息系(sdept=’IS’)学生信息的视图IS_Student,包含sno,sname,sage和sdept四个属性,并查看该视图的内容。
create view IS_Student
as
select sno,sname,sage ,sdept from student where sdept ='IS'
创建信息系选修了1号课程的学生的视图IS_S1(至少包含sno、cno、 grade这几个属性),并同时给视图字段设定新的中文字段名。最后查看该视图的内容。
基于之前创建的视图IS_S1建立信息系选修了1号课程且成绩在90分以上的学生的视图IS_S2,并查看该视图的内容。
select * from IS_S1 where 课程号='1' and 成绩>90
将student表中所有女生的记录定义为一个视图F_student,并查看该视图的内容。
create view F_student
as
select * from student where ssex='女'
select * from F_student
将所有学生的学号和他所有选修课程的平均成绩定义为一个视图S_G,并查看该视图的内容。
create view S_G
as
select sno ,avg(grade)as pijun
from sc
group by sno
select * from S_G
利用函数创建一个“视图”myAgeFunView,要求能够显示年龄在某个指定年龄段内的学生的信息。年龄段由2个参数来定义。然后利用该创建好的“视图”,查询年龄在[17, 19]年龄段内的学生信息。
create function myAgeFunView(***@ageA int,***@ageB int) returns table
as
return
(select * from student where sage>=***@ageA and sage<=***@ageB
select * from myAgeFunView(17,19)
视图结构的修改
视图的结构是可以重新修改的,
数据库试图的定义数据库实验报告 来自淘豆网www.taodocs.com转载请标明出处.