数据库 第9章视图、索引和游标.ppt

数据库 第9章视图、索引和游标.ppt

ID:56373738

大小:490.50 KB

页数:41页

时间:2020-06-14

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

《数据库 第9章视图、索引和游标.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、第9章视图、索引和游标河北工程大学信电学院崔冬数据库原理与SQLServer2005应用第9章视图、索引和游标视图1索引2游标341小结9.1视图基本表1基本表2视图图9-1视图概念示意图1.视图的优点1)为用户集中数据,简化用户的数据查询和处理。使得分散在多个表中的数据,通过视图定义在一起。2)简化操作,屏蔽了数据库的复杂性。3)重新定制数据,使得数据便于共享。4)合并分割数据,有利于数据输出到应用程序中。5)简化了用户权限的管理,增加了安全性。9.1.1视图概述视图通常用来集中、简化和自定义每个用户对数据库的不同认识。通常在以下情况下使用视图:着重于特定数据。简化

2、数据操作。3)自定义数据。4)数据的导入与导出。5)跨服务器组合分区数据库2.视图的使用范围在SQLServer2005中,视图可以分为标准视图、索引视图和分区视图。标准视图组合了一个或多个表中的数据,用户可以使用标准视图对数据库进行查询、修改、删除等基本操作。索引视图是被具体化了的视图,即它已经过计算并存储。可以为视图创建索引,即对视图创建一个惟一的聚集索引。分区视图在一台或多台服务器间水平连接一组成员表中的分区数据。9.1.2视图的类型在创建视图前应考虑如下准则:1)只能在当前数据库中创建视图。2)视图名必须遵循标识符的规则,且对每个架构都必须惟一。3)用户可以对

3、其他视图创建视图。4)不能将规则或DEFAULT定义与视图相关联.5)不能将AFTER触发器与视图相关联,只有INSTEADOF触发器可以与之相关联。6)定义视图的查询不能包含COMPUTE子句、COMPUTEBY子句或INTO关键字。7)定义视图的查询不能包含ORDERBY子句,除非在SELECT语句的选择列表中还有一个TOP子句。8)定义视图的查询不能包含指定查询提示的OPTION子句。9)定义视图的查询不能包含TABLESAMPLE子句。9.1.3创建视图10)不能为视图定义全文索引定义。11)不能创建临时视图,也不能对临时表创建视图。12)不能删除参与到使用S

4、CHEMABINDING子句创建的视图中的视图、表或函数,除非该视图已被删除或更改而不再具有架构绑定。另外,如果对参与具有架构绑定的视图的表执行ALTERTABLE语句,而这些语句又会影响该视图的定义,则这些语句将会失败。13)下列情况下必须指定视图中每列的名称:①视图中的任何列都是从算术表达式、内置函数或常量派生而来。②视图中有两列或多列原应具有相同名称。③希望为视图中的列指定一个与其源列不同的名称。主要有两种方式1、在SQLServerManagementStudio中使用向导创建视图,演示。2、通过在查询窗口中执行T-SQL语句创建视图。其语法格式如下:CREA

5、TEVIEW<视图名>[(视图列名表)]AS子查询语句在SQLServer2005中创建标准视图定义视图注意:子查询中通常不包含ORDERBY和DISTINCT子句。在定义视图时要么指定全部视图列,要么全部省略不写。如果省略了视图的属性列名,则视图的列名与子查询列名相同。但在如下三种情况下必须明确指定组成视图的所有列名:某个目标列是计算函数或列表达式;多表连接时选出了几个同名列作为视图的字段;需要在视图中为某个列选用新的更合适的列名。1.定义单源表视图单源表视图指的是数据取自一个基本表的部分行、列。这样定义的视图可以进行查询和修改数据操作。例1.建立信息系学生的视图。

6、CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept='信息系'DBMS执行CREATEVIEW语句的结果只是保存视图的定义,只有在对视图执行查询时,才按视图的定义从相应基本表中查询数据。2.定义多源表视图多源表视图指的是定义视图的子查询的源表可以有多个,这样定义的视图一般只用于查询,不用于修改数据。例2.建立信息系选修了‘c01’号课程的学生的视图。CREATEVIEWV_IS_S1(Sno,Sname,Sage,Grade)ASSELECTStudent.Sno,Sname,Sage,Gra

7、deFROMStudentJOINSCONStudent.Sno=SC.SnoWHERESdept='信息系'ANDSC.Cno='c01'3.在已有视图上定义新视图在视图上建立视图表示视图的数据源中有视图。作为数据源的视图必须是已经建立好的。例3.建立信息系选修了‘c01’号课程且成绩在90分以上的学生的视图。CREATEVIEWV_IS_S2ASSELECTSno,Sname,GradeFROMV_IS_S1WHEREGrade>=904.定义带表达式的视图在定义基本表时,为减少数据库中的冗余数据,表中只存放基本数据,由基本数据经过各种计算派生出

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

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

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