1、 视图的创建与使用一、实验目的(1理解视图的概念。(2掌握创建视图、测试、加密视图的方法。(3掌握更改视图的方法。(4掌握用视图管理数据的方法。二、实验容(1创建一个名为stuview2的水平视图,从数据库Student_info的Student表中查询出性别为“男的所有学生的资料。并在创建视图时使用with check option。注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。createviewstuview2asselect*fromStudentwhereSex=男withcheckoption查看视图:select*fromstuview2(2创建一个名为stuview3的投影视图,从数据库Student_info的Course表中查询学分大于3的所有课程的课程号、课程名、总学时。并在创建时对该视图加密。提示:用with ENCRYPTION关键子句createviewstuview3withENCRYPTIONasselecto,ame,Total_periorfromCoursewhereCredit3查看视图:select*f
2、romstuview3(3创建一个名为stuview4的视图,能检索出“051班所有女生的学号、课程号与相应的成绩。createviewstuview4asselect*fromSCwhereSno=(selectSnofromStudentwhereClassno=051andSex=女)查看视图:select*fromstuview4(4创建一个名为stuview5的视图,能检索出每位选课学生的学号、总成绩。createviewstuview5asselectStudent.Sno学号,Sname,Grade成绩fromStudent,SCwhereStudent.Sno=SC.Sno查看视图:select*fromstuview5假如出现如上图所示情况,单击“查询IntelliSense刷新本地缓存然后就解决了。(1查看视图stuview2的创建信息。sp_help查看查询表sysobjectsa、sp_helpstuview2b、selectso.name,sc.name,sc.colid,st.namefromsysobjectsso,syscolumnssc,systype
3、sstwhereSO.id=SC.idandSO.xtype=VandSO.status= 0 andSC.xtype=ST.xusertypeandSO.name=stuview2orderbySO.name,SC.colorder(2)通过查看视图的定义脚本。sp_helptextsp_helptextstuview2和表sysments提示:视图的名称保存在表sysobjects的name列,定义脚本保存在表sysments的text列selectSO.name,SC.textfromsysobjectsSO,sysmentsSCwhereSO.id=SC.idandSO.xtype=VandSO.status= 0 andSO.name=stuview23)查看加密视图stuview3的定义脚本。sp_helptextstuview3(1修改视图stuview3使其从数据库Student_info的Student表中查询总学时大于60的所有课程的课程号、课程名、学分。提示:假如视图原具有加密保护,修改视图时假如未加with encryption子句,如此修改后的视图不再加密。a
4、lterviewstuview3withencryptionasselecto,ame,CreditfromCoursewhereTotal_perior60查看视图:select*fromstuview31用系统存储过程sp_rename将视图stuview4更名为stuv4。sp_renamestuview4,stuv42)将视图stuv4删除。dropviewstuv41从视图stuview2查询出班级为“051、为“虹的资料。select*fromstuview2whereClassno=051andSname=虹2向视图stuview2中插入一行数据,容为:学号 班级 性别 家庭住址 入学时间 出生年月20110005 小林 054 男 2011/09/011993/01/09insertintostuview2values(20110005,小林,男,1993/01/09,054,2011/09/01,CH,201111)查看视图:select*fromstuview23查询student,查看表中的容有何变化。Student 表中已有“小林的信息select*fromSt
5、udent4向视图stuview2中插入一行数据,容为:学号 班级 性别 家庭住址 入学时间 出生年月20110006 静 054 女 2011/09/011993/11/09 能成功插入吗?原因何在?不能插入,原因是目标视图或者目标视图所跨越的某一视图指定了WITH CHECK OPTION,而该操作的一个或多个结果行又不符合CHECK OPTION 约束。insertintostuview2values(20110006,静,女,1993/01/09,054,2011/09/01,CH,201111)5修改视图stuview2中的数据。stuview2中054班、为“小林同学的家庭地址改为“市。updatestuview2setHome_addr=市whereHome_addr=andSname=小林andClassno=054查看视图:select*fromstuview2b. 查询student,查看表中的容有何变化student 表中的小林的家庭住址已发生了改变select*fromStudent6 从视图stuview1中将班级为054、为“小林同学删除。deletefromstuview2whereSname=小林查看视图: /
《实验五视图地创建与使用》由会员大米分享,可在线阅读,更多相关《实验五视图地创建与使用》请在金锄头文库上搜索。