数据库之视图、索引和游标.ppt

数据库之视图、索引和游标.ppt

ID:56477098

大小:71.00 KB

页数:38页

时间:2020-06-19

数据库之视图、索引和游标.ppt_第1页
数据库之视图、索引和游标.ppt_第2页
数据库之视图、索引和游标.ppt_第3页
数据库之视图、索引和游标.ppt_第4页
数据库之视图、索引和游标.ppt_第5页
资源描述:

《数据库之视图、索引和游标.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库的基本表是按照数据库设计人员的观点设计的,并不一定符合用户的需求。SQLServer2005可以根据用户需求重新定义表的数据结构,这种数据结构就是视图。在数据库系统中,为了迅速地从庞大的数据库中找到所需要的数据,SQLServer2005提供了类似书的目录作用的索引技术。通过对数据库中表设置索引,可以大大加快数据的检索速度。SQLServer2005还提供了一种称为游标的机制,来处理数据。本章主要介绍SQLServer2005数据库系统视图的创建以及使用,索引类型及创建、使用,游标的创建以及使用。第9章视图、索引和游标9.1视图9.2索

2、引9.3游标第9章视图、索引和游标9.1.1视图概述视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。1.视图的优点使用视图有很多优点,主要表现在:1)为用户集中数据,简化用户的数据查询和处理。使得分散在多个表中的数据,通过视图定义在一起。2)简化操作,屏蔽了数据库的复杂性。3)重新定制数据,使得数据便于共享。3)合并分割数据,有利于数据输出到应用程序中。4)简化了用户权限的管理,增加了安全性。9.

3、1视图2.视图的使用范围视图通常用来集中、简化和自定义每个用户对数据库的不同认识。通常在以下情况下使用视图:着重于特定数据。2)简化数据操作。3)自定义数据。4)数据的导入与导出。5)跨服务器组合分区数据库9.1视图9.1.2视图的类型在SQLServer2005中,视图可以分为标准视图、索引视图和分区视图。标准视图组合了一个或多个表中的数据,用户可以使用标准视图对数据库进行查询、修改、删除等基本操作。索引视图是被具体化了的视图,即它已经过计算并存储。可以为视图创建索引,即对视图创建一个惟一的聚集索引。索引视图可以显著提高某些类型查询的性能。

4、索引视图尤其适于聚合许多行的查询。但它们不太适于经常更新的基本数据集。分区视图在一台或多台服务器间水平连接一组成员表中的分区数据。这样,数据看上去如同来自于一个表。联接同一个SQLServer实例中的成员表的视图是一个本地分区视图。9.1视图9.1.3创建视图在创建视图前应考虑如下准则:1)只能在当前数据库中创建视图。2)视图名称必须遵循标识符的规则,且对每个架构都必须惟一。3)用户可以对其他视图创建视图。5)不能将AFTER触发器与视图相关联,只有INSTEADOF触发器可以与之相关联。6)定义视图的查询不能包含COMPUTE子句、COMP

5、UTEBY子句或INTO关键字。7)定义视图的查询不能包含ORDERBY子句,除非在SELECT语句的选择列表中还有一个TOP子句。8)定义视图的查询不能包含指定查询提示的OPTION子句。9)定义视图的查询不能包含TABLESAMPLE子句。9.1视图10)不能为视图定义全文索引定义。11)不能创建临时视图,也不能对临时表创建视图。12)不能删除参与到使用SCHEMABINDING子句创建的视图中的视图、表或函数,除非该视图已被删除或更改而不再具有架构绑定。另外,如果对参与具有架构绑定的视图的表执行ALTERTABLE语句,而这些语句又会影

6、响该视图的定义,则这些语句将会失败。13)下列情况下必须指定视图中每列的名称:①视图中的任何列都是从算术表达式、内置函数或常量派生而来。②视图中有两列或多列原应具有相同名称。③希望为视图中的列指定一个与其源列不同的名称。9.1视图在SQLServer2005中创建标准视图主要有两种方式:一种方式是在SQLServerManagementStudio中使用向导创建视图,另一种方式是通过在查询窗口中执行T-SQL语句创建视图。T-SQL提供了视图创建语句CREATEVIEW。其语法格式如下:CREATEVIEW[schema_name.]view

7、_name[(column[,...n])][WITH[,...n]]ASselect_statement[;][WITHCHECKOPTION]9.1视图【例9-1】创建学生_课程_分数视图,包括计算机学院的学生的学号、姓名,和他们选修的课程号、课程名、分数。CREATEVIEW学生_课程_分数ASSELECT学生表.学号,姓名,课程表.课程号,课程名,分数FROM学生表,课程表,成绩表WHERE学生表.学号=成绩表.学号AND课程表.课程号=成绩表.课程号AND院系名称='计算机学院'GO【例9-2】创建进

8、货视图,包括职工的姓名和零件名称。CREATEVIEW进货视图ASSELECT姓名,零件名称FROM工作人员表,库存零件表,出货单表WHERE工作人员表.人员编号=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。