实验报告五视图的创建与使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验题目
视图的创建与使用1、实验内容
视图的创建与使用
2、实验目的与要求
1、理解视图的概念。
2、掌握视图创建测试加密视图的方法。
3、掌握更改视图的方法。
4、掌握用视图管理数据的方法。
3、实验内容
1、创建视图
(1)
create view stuview1
as
select*
from student
where sex='男'
WITH CHECK OPTION
select*
from stuview1
(2)
create view stuview2
with encryption
as
select cno,cname,total_perior from course
where credit>3
select cno,cname,total_perior
from stuview2
(3)
create view stuview3
as
select sc.sno,o,grade
from Student,Course,sc
where student.sno=sc.sno and o=o and classno='051'and sex='女'
select sno,cno,grade
from stuview3
(4)
create view stuview4(Sno,Sname,SumGrade) as
select SC.Sno,Sname,sum(Grade)
from SC,Student
where SC.Sno=Student.Sno
group by SC.Sno,Sname
select*
from stuview4
2、查询视图的创建信息及视图中的数据(1)
方法一exec sp_help stuview1
2方法二
SysObjects中就保存了数据库中所有对象的信息,如:SELECT * FROM SysObjects WHERE type = 'U'(所有表的信息)SELECT * FROM SysObjects WHERE type = 'V'(所有视图的信息)SELECT * FROM SysObjects WHERE type = 'P'(所有存储过程的信息)
select ,,sc.colid,
from sysobjects so,syscolumns sc,systypes st
where SO.id=SC.id and SO.xtype='V'and SO.status>= 0
and SC.xtype=ST.xusertype
and ='stuview1'
order by ,SC.colorder
(2)
方法一
sp_helptext stuview1
方法二、
select ,SC.text
from sysobjects SO,syscomments SC
where SO.id=SC.id and SO.xtype='V'and SO.status>= 0 and ='stuview1'
(3)sp_helptext stuview2
3、修改视图中的定义alter view stuview2
with ENCRYPTION
as
select Cno,Cname,Credit from Course
where Total_perior>60
select*
from stuview2
4、视图的更名与删除(1)sp_rename stuview4,stuv4
(2)drop view stuv4
5、管理视图中的数据
(1)
select*
from stuview1
where classno='051'and sname='张虹'
(2)
insert into stuview1
values('20110005','许华','男','1993/01/09','054','2011/09/01','南京')
select*
from Student
insert into stuview1(Sno,Sname,Classno,Sex,home_addr,entrance_data,Birth)
values('20110007','赵静','054','女','南京','2011-09-01','1993-01-09')
不允许插入,因为在创建视图stuview1时应用了WITH CHECK option语句限制了sex只能为‘男’所以不允许插入性别为女的资料。
(3)
update stuview1
set home_addr='扬州市'
where Classno='054'and Sname='许华'
select*
from Student
(4)delete
from stuview1 where Sname='许华'
select*
from Student