《数据库的原理及应用-(SQLServer2008版)》-第6章.ppt

《数据库的原理及应用-(SQLServer2008版)》-第6章.ppt

第6章 视图 ;掌握利用视图简化查询操作的方法;从数据库系统观点来看,视图只是由SELECT语句组成的查询定义的虚拟表,因此数据库在存储视图时只存储视图的定义,虽然与普通的表一样视图由字段和记录组成,但本身不存储数据,其数据存储在被它引用的数据表中,这种被引用的表称为基表。;(2)视图使用户集中视点增加数据的可读性。视图可以筛选和过滤掉一些用户不需要或敏感的列和行,只允许用户查看特定范围的数据,这样既增加了数据的可读性又提高了数据的安全性。;6.2 创建视图 ;(1)启动【SQL Server Management Studio】,连接到本地默认实例,在【对象资源管理器】窗口里,选择【数据库】→【stu_info】→【视图】。右击【视图】,在弹出的快捷菜单里选择【新建视图】选项。如图6-1所示。;(3)添加完数据表之后,单击【关闭】按钮,返回到【视图设计】窗口,如图6-3所示。如果还要添加新的数据表,可以右击如图6-3所示【关系图窗格】的空白处,在弹出的快捷菜单里选择【添加表】选项,则会再次弹出中所示的【添加表】对话框,然后继续为视图添加引用表或视图。如果要移除已经添加的数据表或视图,可以右击在【关系图窗格】里选择要移除的数据表或视图,在弹出的快捷菜单里选择【移除】选项,或选中要移除的数据表或视图后,直接按【Delete】按钮移除。;(5)在【关系图窗格】里选择数据表字段前的复选框,或者在【条件窗格】中的【列】字段中单击,在下拉列表框中选择数据字段名称,可以设置视图要输出的字段。如图6-3选中“student”表中的“s_id”等5个字段。;6.2.2 利用T-SQL语句创建视图 ;[ WITH view_attribute [ ,...n ] ];{;};(3)column:视图中所使用的列名,一般只有列是从算术表达式、函数或常量派生出来的或者列的指定名称不同于来源列的名称时,才需要使用。;③VIEW_METADATA:指定为引用视图的查询请求浏览模式的元数据时,SQL Server 实例将向 DB-Library、ODBC和OLE DB API 返回有关视图的元数据信息,而不返回基表的元数据信息。;【例 6-1】创建一个名称为st1_degree的视图,其中包括所有学生的姓名、课程和成绩。;FROM student ,course,grade;GO;6.3 管理视图 ;下面以查看视图“st1-degree”为例介绍如何查看视图定义:;视图的定义信息保存在系统数据库中,所以可以通过系统提供的存储过程来查看视图的定义信息。下面以查看“st1-degree”视图为例介绍查看的方法:;图6-5 Management Studio中查看视图定义;6.3.2 修改视图定义 ;(2)右击【st1_degree】,在弹出的快捷菜单里选择【设计】选项,打开如图6-7所示的【视图设计】窗口。在【条件窗格】中将grade字段的【排序类型】修改为降序。;注意:视图是个查询结果集,是没有排序的,如果你使用了ORDER BY那么你必须于TOP关键字一起使用,这里ORDER BY 并不是对视图的结果进行排序,只是为了让TOP提取结果。当使用视图做查询,并且查询结果集需要排序时,要重新使用order by。;[ WITH view_attribute [ ,...n ] ];{;从上面代码可以看出,alter view语句的语法和create view语句完全一样,只不过是以“alter view”开头,下面举例说明alter view的用法:;SELECT student.s_id AS 学号 ,student.sname AS 姓名,course.cname AS 课程,grade.grade AS 成绩;重命名视图可以通过“对象管理器”来完成,也可以通过相关存储过程来完成。;利用系统提供的存储过程sp_rename可以对视图进行重命名,其语法格式为:;参数说明:;表6-1 object_type的取值及其含义;Go;(1)重命名的视图必须位于当前数据库中;;6.3.4 删除视图 ;下面以删除“view_score”为例介绍如何在SQL Server Management Studio中删除视图:;2.使用T-SQL语言删除视图 ;DROP VIEW view_score;1.在Management Studio中查询视图 ; ;【例 6-5】请查看st1_degree视图的内容。;SELECT 姓名,课程,成绩 FROM st1_degree;视图还可以作为数据库的一种安全措施用来限制用户对基表的访问。例如,若限定某用户只能查询st1_degree视图,实际上就是限制该用户只能访问“学号”、“姓名”、“课程”和“成绩”这四个字段

文档评论(0)

1亿VIP精品文档

相关文档