1、第五章 视图的创建与使用,5.1 视图简介,5.1.1 视图的概念视图是一种数据库对象,它为用户提供了一种对源数据可定制查询、且可修改的工具 通常视图又称虚拟表(Virtual Table),能象表一样操作,即可对视图进行查询、插入、更新与删除,注意:视图、表、查询的相同与不同,5.1.2 视图的优点 优点是提高了数据库对应用程序的独立性,有利于保持数据的一致性。其次是简化了复杂查询,提供了保持数据库安全性的手段。,创建视图前应注意如下原则:只能在当前数据库中创建视图 视图名称必须遵循SQL Server 2000中所规定的对象命名规则 可以将其它视图作为数据源来创建新视图 不能将规则或 DE
2、FAULT 定义与视图相关联,在定义视图的Select语句中不可以包含 ORDER BY、COMPUTE 或 COMPUTE BY子句或 INTO 关键字 不能创建临时视图,也不能在临时表上创建视图 在某些情况下视图创建者必须为视图中的列重新命名,5.2 创建视图,创建视图的常用工具使用企业管理器创建使用Transact-SQL语句创建,5.2.1 使用企业管理器创建(1)进入新建视图对话框,右击创建视图的数据库,(2)为视图选择数据源,选择表,并添加到,右击鼠标,数据源可以是表、其他视图或函数,此处选择三个表作为数据源,(3)选择视图的输出字段(表达式),通过单击字段左边复选框选择字段,所选
3、字段,视图的查询语句,在该图中的其他复选框的含义如下: “输出”复选框表示在输出结果中是否显示该字段内容; “准则”复选框中可以输入该字段的限制条件,用来限制记录的输出 “排序类型”复选框表示新建视图的运行结果按照该字段的升序或降序排列。,“或”复选框表示可以为该字段输入多个逻辑关系为“或”的限制条件若为该字段输入逻辑关系为“与”的限制条件可在下边的Transact-SQL语句中用“AND”输入。,注:由以上复选框的设置可自动生成视图的查询语句也可在上图中由用户修改或重新输入,视图属性对话框中的有关选项的含义如下:“DISTINCT值”表示在视图的运行结果中是否显示重复记录。“加密浏览”实现对
4、视图定义加密,一旦对视图进行加密以后将不能对视图的定义进行查看或修改。“顶端”复选框可以限制视图的最多输出记录条数。,(4)在视图设计窗口中单击工具栏中的按钮 运行视图(5)点击“保存”按扭保存完成视图的创建,定制视图属性,视图属性对话框,5.2.2使用Transact-SQL语句创建视图CREATE VIEW视图名(列名1,列名2,) AS 查询子句 例1 建立一个只包括教师号、姓名和年龄的视图TeacherView。 CREATE VIEW TeacherView AS SELECT tno,tname,tage FROM teachers,视图创建总是包括一个查询语句SELECT。可以利
5、用SELECT语句从一个表中选取所需要的行或列(使用查询条件WHERE 子句)构成视图,也可以从几个表中选取所需要的行或列(使用子查询和链接技术)构成视图。但要注意,在视图定义中不能包含ORDER BY子句,除非有TOP语句。,例2 从学生表、课程表和选课表中产生一个视图grade_view, 它包括学生姓名、课程名和成绩。 CREATE VIEW grade_view AS SELECT sname,cname,grade FROM student s,sc,course c WHERE s.sno=sc.sno AND o=o,2删除视图 DROP VIEW 视图名 CASCADE | RESTRICT 例3 删除视图GRADE_TABLE DROP VIEW GRADE_TABLE RESTRICT,5.2.3 查看视图信息,利用企业管理器查看视图信息,右击视图,展开数据库,点击属性,视图的查询语句,视图的权限,