欢迎来到天天文库
浏览记录
ID:50047732
大小:277.50 KB
页数:30页
时间:2020-03-08
《数据库技术与应用——SQL Server 2005 教学课件 作者 张建伟 第7章 视 图.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第7章视图本章目录7.1视图的作用和基本类型7.2视图的创建7.3视图的修改7.4通过视图查询数据7.5通过视图更新数据7.6视图的删除本章小结7.1视图的作用和基本类型视图是查看数据库中表数据的一种方式。它提供了存储预定义的查询语句作为数据库中的对象供以后使用的能力。视图是一种逻辑对象,是一种虚拟表。除非是索引视图,否则视图不占用物理存储空间。在视图中被查询的表称为视图的基表。大多数的SELECT语句都可以用在视图的创建中。一般地,视图的内容包括:基表中列的子集或行的子集,也就是说视图可以是基表的一部分。两个或多个基表的联合,也就是说视图是对多个基表
2、进行联合检索的SELECT语句。两个或多个基表的连接,也就是说视图是通过对若干个基表的连接生成的。基表的统计汇总,也就是说视图不仅仅是基表的投影,还可以是经过对基表的各种复杂运算而得到的结果。另外一个视图的子集,也就是说视图既可以基于表,也可以基于另外一个视图。视图和基表的混合,在视图的定义中,视图和基表可以起到同样的作用。从技术上来讲,视图是SELECT语句的存储定义。可以在视图中定义一个或多个表的1024列,所能定义的行数是没有限制的。视图的优点(1)查询简单化如果一个查询非常复杂,跨越多个数据表,那么可以通过将这个复杂查询定义为视图,从而简化用户
3、对数据的访问,因为用户只需要查询视图即可。(2)提高数据的安全性视图创建了一种可以控制的环境,即数据表中的一部分数据允许访问,而另一部分则不允许访问。那些没有必要的、敏感的或不适合的数据都从视图中排除了,用户只能查询和修改是图中显示的数据。可以为用户只授予访问视图的权限,而不授予访问数据表的权限,从而提高数据库的安全性能。(3)掩码数据库的复杂性。视图把数据库设计的复杂性与用户的使用方式屏蔽开了。在设计数据库和数据表时,因为种种因素,通常命名的名字都是十分复杂和难以理解的,而视图可以将那些难以理解的列替换成数据库用户容易理解和接受的名称,从而为用户的使
4、用提供极大便利。(4)为向其他应用程序输出而重新组织数据。可以创建一个基于连接两个或多个表的复杂查询的视图,然后把视图中的数据引出到另外一个应用程序中,以便对这些数据进行进一步的分析和使用。视图的类型在MicrosoftSQLServer2005系统中,可以把视图分成3种类型,即标准视图、索引视图和分区视图。一般情况下的视图都是标准视图,它是一个虚拟表,不占用物理存储空间。如果用户希望提高多行数据的视图性能,可以创建索引视图。索引视图是被物理化的视图,它包含经过计算的物理数据,因此占用一定的存储空间。通过使用分区视图,可以连接一台或多台服务器成员表中的
5、分区数据,使得这些数据看起来就像是来自同一个表中一样。7.2视图的创建和表的创建类似,在MicrosoftSQLServer2005中,可以通过两种方式完成视图的创建:一是使用图形化工具二是使用SQL命令。7.2.1在图形界面下创建视图打开MicrosoftSQLServerManagementStudio环境的“对象资源管理器”(如果该窗口关闭,选中“视图”菜单,选择“对象资源管理器”选项,即可打开该窗口),打开指定的服务器实例,选中“数据库”节点,再打开指定的数据库,例如“学生选课”数据库。右键单击“视图”节点,从弹出菜单中选择“新建视图”命令,则
6、出现如图7.1所示的“添加表”对话框。图7.1“添加表”对话框从“添加表”对话框中选择将要定义视图的基表。一个视图可以有多个基表。选中一个表(如Course表)后,单击“添加”按钮,就为视图选择了一个基表。基表选择结束之后,将显示如图7.2所示的定义视图的对话框。图7.2定义视图在该对话框中可以完成视图的定义操作。在基表中选择视图中要显示的列,这里选中Course表中的Cname列,SC表中的Grade列,Student表中的Sname列、Ssex列和Sdep列。在相应的列选择区可以为选中的列设置别名、排序类型、排序顺序和筛选条件等。这里为各个列取定别
7、名,并将结果以Grade降序为第一排序依据,以Sname升序为第二排序依据。随着设置的变化,下面语句区的SQL语句也在自动更新。单击工具栏的“保存”按钮,输入视图名称,保存视图的定义。单击“执行”按钮,在结果区将显示视图的执行结果。如图7.3所示。图7.3视图执行结果7.2.2用SQL语句创建视图可以使用CREATEVIEW语句定义视图。需要注意的是:只能在当前的数据库中创建视图视图的名称必须符合命名规则因为视图的外表和表的外表时一样的,因此应该使用一种能与表区别开的命名机制,使人容易分辨出表和视图,一般情况下,选择在视图名称前使用vw_作为前缀。使用
8、CREATEVIEW语句创建视图的基本语法为:CREATEVIEW<视图名>[(<列名>[,<
此文档下载收益归作者所有