云南师范大学信息学院
实 验 报 告
学号: 姓名: 班级: 课程名称:大型数据库管理系统 实验名称: Transact-SQL程序结构 实验性质:①综合性实验 ②设计性实验 ③验证性实验 试验时间: 试验地点: 本试验所用的设备:SQL Server2005、计算机一台 实验目的: 1. 理解视图的概念 2. 掌握创建视图、加密视图的方法 3. 掌握试图待检查项和不带检查项的区别 4. 掌握视图更新的概念和方法 实验内容及过程: (1) 针对员工表创建一个视图, 取员工表的前4个属性,要求带WITH ENCRYPTION。使用sp_helptext和在syscomments表中分别观察定义的文本。最后利用定义的视图进行查询。 代码如下: use xmgl1 GO if exists (select table_name from information_schema.views where table_name ='员工表_视图') drop view 员工表_视图 go create view 员工表_视图 with encryption as select 员工号,姓名,性别,出生年月 from 员工表 go --使用sp_helptext观察定义的文本 sp_helptext 员工表_视图 --查询sysobjects 表中'员工表_视图'的id号 select *from sysobjects where name='员工表_视图' --查询syscomments表中text项 select *from syscomments where id='453576654' --查询员工表_视图 SELECT * FROM 员工表_视图 --加密 (2) 创建一个查询参加所有项目的员工视图“V1_视图”,包括员工号、姓名,所在部门名。并进行查询。 代码如下: if exists (select table_name from information_schema.views where table_name = 'V1_视图') drop view V1_视图 go create view V1_视图(员工号, 姓名, 所在部门名) as select 员工号, 姓名,部门名 from 员工表,部门表 where 员工表.所在部门号=部门表.部门号 and 员工号 in (select 员工号 from 员工表 where not exists (select * from 项目表 where not exists (select * from 员工参与项目表 where 员工号=员工表.员工号 and 项目编号=项目表.项目编号))) ---查询 select * from V1_视图