资源描述:
《数据库实验五视图的创建与使用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验五视图的创建与使用一、实验目的(1)理解视图的概念。(2)掌握创建视图、测试、加密视图的方法。(3)掌握更改视图的方法。(4)掌握用视图管理数据的方法。(5)了解分区视图的实现方法。二、实验内容1.创建视图(1)创建一个名为stuview2的水平视图,从数据库Student_infoXSGL的studentStudent表中查询出性别为“男”的所有学生的资料。并在创建视图时使用withcheckoption。(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。)createviewstuview2as
2、selectSno,Sname,Sex,Birth,Classno,Entrance_date,Homeaddr,Sdept,PostcodefromStudent_20103322whereSex='男'withcheckoption14(2)创建一个名为stuview3的投影视图,从数据库Student_infoXSGL的courseCourse表中查询学分大于3的所有课程的课程号、课程名、总学时。,并在创建时对该视图加密。(提示:用withENCRYPTION关键子句,加在as与视图名称之间,且sp_helptext无法看到该视图的定义
3、脚本。)createviewstuview3withENCRYPTIONasselectCno,Cname,Total_periorfromCourse_20103322whereCredit>3withcheckoption14(3)创建一个名为stuview4的视图,能检索出“052051”班所有女生的学号、课程号及相应的成绩。createviewstuview4asselectStudent_20103322.Sno,Cno,GradefromStudent_20103322,SC_20103322whereStudent_201033
4、22.Sno=SC_20103322.SnoandClassno='051'andSex='女'14(4)创建一个名为stuview5的视图,能检索出每位选课学生的学号、姓名、总成绩。createviewstuview5(Sno,Sname,SumGrade)asselectSC_20103322.Sno,Sname,SUM(Grade)fromSC_20103322,Student_20103322whereSC_20103322.Sno=Student_20103322.SnogroupbySC_20103322.Sno,Sname142
5、.查询视图的创建信息及视图中的数据(1)查看视图stuview2的创建信息。方法1:(提示:a.通过系统存储过程sp_help查看)execsp_helpstuview2方法2:(提示:b.通过select语句,查询表sysobjects)select*fromsysobjectswherename='stuview2'14(2)通过查看视图的定义脚本。a.通过系统存储过程sp_helptextexecsp_helptextstuview2b.通过查询表sysobjects和表syscomments(提示:视图的名称保存在表sysobject
6、s的name列,定义脚本保存在表syscomments的text列)(方法:(提示:sp_helptext)selecttextfromsysobjects,syscomments14wherename='stuview2'andsysobjects.id=syscomments.id3)查看加密视图stuview3的定义脚本。execsp_helptextstuview33.修改视图的定义(1)修改视图stuview3使其从数据库Student_infoXSGL的studentStudent表中查询总学时大于60的所有课程的课程号、课程名、
7、学分。(提示:若视图原具有加密保护,修改视图时若未加withencryption子句,则修改后的视图不再加密。修改视图请查阅帮助alterview关键字。)alterviewstuview3withENCRYPTION14asselectCno,Cname,CreditfromCourse_20103322whereTotal_perior>604.视图的更名与删除1)用系统存储过程sp_rename将视图stuview4更名为stuv4。方法:(提示:sp_rename)sp_renamestuview4,stuv4142)将视图stuv4
8、删除。dropviewstuv45.管理视图中的数据1)从视图stuview2查询出班级为“051”、姓名为“张虹”的资料。select*fromstuview2w