预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验四视图的创建和使用 学号:20092426姓名:xx远专业:信息与计算科学班级:2009121 一、实验目的 (1)理解视图的概念。 (2)掌握创建视图、测试、加密视图的方法。 (3)掌握更改视图的方法。 (4)掌握用视图管理数据的方法。 二、实验内容 1.创建视图 (1)创建一个名为stuview1的水平视图,从Student_info数据库的student表中查询出所有男学生的资料,并在创建视图时使用withcheckoption。 结果: createviewstuview1 as SELECT[sno] ,[sname] ,[sex] ,[birth] ,[classno] ,[entrance_date] ,[home_addr] ,[sdept] ,[postcode] FROM[20092426student].[dbo].[student] wheresex='男' withcheckoption (2)创建一个名为stuview2的投影视图,从Student_info数据库的course表中查询学分大于3的所有课程的课程号、课程名、总学时。并在创建时对该视图加密。(提示:用withENCRYPTION关键子句,加在as与视图名称之间,且sp_helptext无法看到该视图的定义脚本。) 结果 createviewstuview2 withENCRYPTION as SELECTcno, cname, total_perior FROMcourse wherecredit>3 withcheckoption: (3)创建一个名为stuview3的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。 结果: createviewstuview3 as SELECTstudent.sno,cno,grade FROMstudent,sc wherestudent.sno=sc.sno andclassno='051' andsex='女' (4)创建一个名为stuview4的视图,能检索出每位选课学生的学号、姓名、总成绩。 结果: createviewstuview4(sno,sname,sumgrade) as SELECTsc.sno, sname, sum(grade) FROMstudent,sc wherestudent.sno=sc.sno groupbysc.sno,sname 2.查询视图的创建信息及视图中的数据 (1)查看视图stuview1的创建信息。 方法1:通过系统存储过程sp_help查看。 结果: execsp_helpstuview1 方法2:通过查询表sysobjects。 结果: select* fromsysobjects wherename='stuview1' (2)查看视图stuview1的定义脚本。 方法1:通过系统存储过程sp_helptext查看。 结果: execsp_helptextstuview1 方法2:通过查询表sysobjects和表syscomments。(提示:视图的名称保存在表sysobjects的name列,定义脚本保存在表syscomments的text列。) 结果: selecttext fromsysobjects,syscomments wherename='stuview1' andsysobjects.id=syscomments.id (3)查看加密视图stuview2的定义脚本。(提示:参考如上查看视图stuview1的定义脚本的两种方法,由于stuview2加密,观察显示结果。) 结果: execsp_helptextstuview2 3.修改视图的定义 修改视图stuview2,使其从数据库Student_info的student表中查询总学时大于60的所有课程的课程号、课程名、学分。 结果: AlterVIEWstuview2 withENCRYPTION AS SELECTcno,cname,credit FROMcourse WHEREtotal_perior>60 4.视图的更名与删除 (1)将视图stuview4更名为stuv4。 方法:(提示通过系统存储过程:sp_rename) 结果: sp_renamestuview4,stuv4 (2)将视图stuv4删除。 结果: dropviewstuv4 5.管理视图中的数据 (1)从视图stuview1查询出班级为“051”、姓名为“张虹”的资料。 结果: Select* fromstuview1 whereclassno='051' andsname='张虹' (2)向视图stuview1中插入一