实验四 视图的创建和使用newWord格式.docx
《实验四 视图的创建和使用newWord格式.docx》由会员分享,可在线阅读,更多相关《实验四 视图的创建和使用newWord格式.docx(16页珍藏版)》请在冰豆网上搜索。
(2)掌握创建视图、测试、加密视图的方法。
(3)掌握更改视图的方法。
(4)掌握用视图管理数据的方法。
二、实验内容
1.创建视图
(1)创建一个名为stuview1的水平视图,从Student_info数据库的student表中查询出所有男学生的资料,并在创建视图时使用withcheckoption。
定义语句:
createviewstuview1
Asselect*fromstudentwheresex=’男’
Withcheckoption;
查询结果:
(2)创建一个名为stuview2的投影视图,从Student_info数据库的course表中查询学分大于3的所有课程的课程号、课程名、总学时。
并在创建时对该视图加密。
(提示:
用withENCRYPTION关键子句,加在as与视图名称之间,且sp_helptext无法看到该视图的定义脚本。
)
createviewstuview2
withENCRYPTION
Asselectcno,cname,Total_periorfromcourse
Wherecredit>
3;
(3)创建一个名为stuview3的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。
createviewstuview3
Asselectstudent.sno,cno,gradefromsc,student
Wheresc.sno=student.snoandclassno=’051’andsex=’女’;
(4)创建一个名为stuview4的视图,能检索出每位选课学生的学号、姓名、总成绩。
createviewstuview4
Asselectstudent.sno,sname,grade
Fromsc,studentwherestudent.sno=sc.sno;
2.查询视图的创建信息及视图中的数据
(1)查看视图stuview1的创建信息。
方法1:
通过系统存储过程sp_help查看。
结果:
方法2:
通过查询表sysobjects。
(select*fromsysobjectswherename=’stuview1’)
(2)查看视图stuview1的定义脚本。
通过系统存储过程sp_helptext查看。
通过查询表sysobjects和表syscomments。
视图的名称保存在表sysobjects的name列,定义脚本保存在表syscomments的text列。
(selecttextfromsysobjects,syscommentswherename=’stuview1’andsysobjects.id=syscomments.id)
(3)查看加密视图stuview2的定义脚本。
参考如上查看视图stuview1的定义脚本的两种方法,由于stuview2加密,观察显示结果。
方法1结果:
方法2结果:
3.修改视图的定义
修改视图stuview2,使其从数据库Student_info的student表中查询总学时大于60的所有课程的课程号、课程名、学分。
通过alterview语句修改)
alterstuview2
Asselectcno,cname,creditfromcourse
WhereTotal_perior>
60;
4.视图的更名与删除
(1)将视图stuview4更名为stuv4。
方法:
(提示通过系统存储过程:
sp_rename)
(2)将视图stuv4删除。
5.管理视图中的数据
(1)从视图stuview1查询出班级为“051”、姓名为“张虹”的资料。
(2)向视图stuview1中插入一行数据。
20110005,姓名:
许华,班级:
054,性别:
男,家庭住址:
南京,入学时间:
2011/09/01,出生年月:
1983/01/09。
问:
原student表中的内容有何变化?
思考:
如向视图stuview1中插入一行数据。
20110006,姓名:
赵静,班级:
女,家庭住址:
1983/11/09。
会出现什么样的结果?
(3)修改视图stuview1中的数据。
将stuview1中054班、姓名为“许华”同学的家庭地址改为“扬州市”。
(4)删除视图stuview1中班级为054、姓名为“许华”的同学记录。