




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章第八章 视图及其应用视图及其应用v 视图概述视图概述v 视图的操作视图的操作v 视图的定义信息查询视图的定义信息查询v 视图的应用举例视图的应用举例第八章第八章 视图及其应用视图及其应用v 视图概述视图概述1、视图的基本概念、视图的基本概念 视图是一个虚拟表,从一个或多个表中导出(视图也可以从视图视图是一个虚拟表,从一个或多个表中导出(视图也可以从视图中导出),其内容由查询语句定义生成。从表面上看,视图和真实表中导出),其内容由查询语句定义生成。从表面上看,视图和真实表一样,具有结构和数据,包含一系列带有名称的列和行数据。实质上一样,具有结构和数据,包含一系列带有名称的列和行数据。实质上
2、,表是视图的基础,数据库中只存储了视图定义,而不存放视图所对,表是视图的基础,数据库中只存储了视图定义,而不存放视图所对应的数据,视图所对应的数据仍存放在视图所引用的基表中。应的数据,视图所对应的数据仍存放在视图所引用的基表中。2、视图的作用视图的作用 1) 视图可以集中数据,满足不同用户对数据的不同要求。视图可以集中数据,满足不同用户对数据的不同要求。 2) 视图可以简化复杂查询的结构,从而方便用户对数据的操作。视图可以简化复杂查询的结构,从而方便用户对数据的操作。 3) 视图能够对数据提供安全保护视图能够对数据提供安全保护 4) 便于组织数据导出便于组织数据导出 第八章第八章 视图及其应用
3、视图及其应用v 视图操作视图操作v 创建视图创建视图v 重命名视图重命名视图v 修改视图修改视图v 使用视图使用视图v 删除视图删除视图第八章第八章 视图及其应用视图及其应用v 创建视图创建视图创建视图时应该注意以下:创建视图时应该注意以下: 1、创建者必须拥有创建视图的权限,对视图中引用的基表或视图有许可权。、创建者必须拥有创建视图的权限,对视图中引用的基表或视图有许可权。 2、只能在当前数据库中创建视图,如果使用分布式查询,视图所引用的基表和、只能在当前数据库中创建视图,如果使用分布式查询,视图所引用的基表和视图可以存在于其他数据库或其他服务器中。视图可以存在于其他数据库或其他服务器中。
4、3、在一个视图中最多引用、在一个视图中最多引用1024列,视图中记录的行数限制由基表中记录数目决列,视图中记录的行数限制由基表中记录数目决定。定。 4、视图的名称必须遵循标识符的定义规则,对于每个用户来说也必须唯一,而、视图的名称必须遵循标识符的定义规则,对于每个用户来说也必须唯一,而且视图名称不允许与该用户拥有的表重名。且视图名称不允许与该用户拥有的表重名。 5、视图中列的名称一般继承其基表中列的名称,如果视图中某一列是算术表达、视图中列的名称一般继承其基表中列的名称,如果视图中某一列是算术表达式、函数、常量或者来自多个表的列名相同,必须要为视图中的列定义名称。式、函数、常量或者来自多个表的
5、列名相同,必须要为视图中的列定义名称。 6、可以将视图创建在其他视图上,、可以将视图创建在其他视图上,sql server 2000中允许中允许32层的视图嵌套。层的视图嵌套。 7、不能在视图上创建全文索引,不能将规则、默认绑定在视图上。、不能在视图上创建全文索引,不能将规则、默认绑定在视图上。 8、不能在临时表上创建视图,也不能创建临时视图。、不能在临时表上创建视图,也不能创建临时视图。 9、定义视图的查询语句中不能包含、定义视图的查询语句中不能包含order by 、compute、compute by子句和子句和into关键字。关键字。 第八章第八章 视图及其应用视图及其应用v 创建视图
6、创建视图 1、使用企业管理器创建视图,创建步骤如下:、使用企业管理器创建视图,创建步骤如下: 1)在企业管理器,打开)在企业管理器,打开“视图设计器视图设计器”。 2)单击工具栏上的)单击工具栏上的“添加表添加表”按钮,将表添加到视图设计器中。按钮,将表添加到视图设计器中。 3)根据新建视图的需要,从表中选择视图引用的列。)根据新建视图的需要,从表中选择视图引用的列。 4)在网格窗格中的)在网格窗格中的“准则准则”栏中设置过滤记录的条件。栏中设置过滤记录的条件。 5)设置视图的其他属性。)设置视图的其他属性。 6)在视图设计器窗口中,检查)在视图设计器窗口中,检查sql语法。语法。 7)最后,
7、单击)最后,单击“保存保存”按钮,为视图指定名称。关闭按钮,为视图指定名称。关闭“视图设计器视图设计器”。第八章第八章 视图及其应用视图及其应用v 创建视图创建视图 1、使用企业管理器创建视图,创建图解步骤如下:、使用企业管理器创建视图,创建图解步骤如下:“添加添加”表表 选择表列选择表列 选择属性选择属性 第八章第八章 视图及其应用视图及其应用v 创建视图创建视图 1、使用视图向导创建视图图解如下:、使用视图向导创建视图图解如下: 第八章第八章 视图及其应用视图及其应用v 创建视图创建视图 1、使用视图向导创建视图图解如下:、使用视图向导创建视图图解如下: 第八章第八章 视图及其应用视图及其
8、应用v 创建视图创建视图 1、使用视图向导创建视图图解如下:、使用视图向导创建视图图解如下: 第八章第八章 视图及其应用视图及其应用v 创建视图创建视图语法格式如下:语法格式如下: create view . . view_name ( columnname ,.n ) with encryption as select_statement with check option 第八章第八章 视图及其应用视图及其应用v 创建视图创建视图其中其中 view_name:定义视图的名字。必须遵守命名规则。:定义视图的名字。必须遵守命名规则。 columnname:定义视图中列的名字。列名并不是必须定义
9、的,默认:定义视图中列的名字。列名并不是必须定义的,默认情况下,视图列名会自动沿用表格的列名。但是当遇到以下情况时,情况下,视图列名会自动沿用表格的列名。但是当遇到以下情况时,必须为视图提供列名:必须为视图提供列名: 1、该列是从表格中的计算列、该列是从表格中的计算列 2、当视图从多个表中产生,而这些表中有数据列重名。、当视图从多个表中产生,而这些表中有数据列重名。 3、当视图中有一个数据列使用了同表格中相应列名不同的时候,、当视图中有一个数据列使用了同表格中相应列名不同的时候,所有列名都必须给出。所有列名都必须给出。 select_statement:建立视图使用的:建立视图使用的selec
10、t语句。语句。 with check option:对视图进行:对视图进行update或或insert操作时,操作时,要保证更新或插入的行满足视图中定义的谓词条件。要保证更新或插入的行满足视图中定义的谓词条件。 with encryption:表示:表示 sql server 加密包含加密包含 create view 语句文本的系统表列。语句文本的系统表列。 第八章第八章 视图及其应用视图及其应用v 创建视图创建视图例:例: 在在student数据库中,以学生表为基础建立一个视图,其名称数据库中,以学生表为基础建立一个视图,其名称为为“v_计算机系学生计算机系学生”,其包含列为学生表中的所有列
11、,筛选记录条,其包含列为学生表中的所有列,筛选记录条件为件为“系部代码系部代码 = 01”。程序清单如下:。程序清单如下: use student go create view v_计算机系学生计算机系学生 as select * from 学生学生 where 系部代码系部代码 = 01 go第八章第八章 视图及其应用视图及其应用v 重命名视图重命名视图 1、使用企业管理器、使用企业管理器 在企业管理器中,选择需要修改名称的视图,右击该视图,从弹在企业管理器中,选择需要修改名称的视图,右击该视图,从弹出的快捷菜单中选择出的快捷菜单中选择“重命名重命名”选项,或者在视图上再次单击,使视选项,或
12、者在视图上再次单击,使视图名称变为可修改状态,输入新的视图名称即可。名称修改完后,将图名称变为可修改状态,输入新的视图名称即可。名称修改完后,将会弹出重命名对话框,询问是否重命名,单击会弹出重命名对话框,询问是否重命名,单击“是是”按钮完成视图重按钮完成视图重命名,单击命名,单击“查看相关性查看相关性”按钮,可查看与该视图有关的其他数据库按钮,可查看与该视图有关的其他数据库对象。对象。 2、使用系统存储过程、使用系统存储过程 其语法格式如下:其语法格式如下:sp_rename old_name ,new_name 例:将视图例:将视图 “v_某班成绩某班成绩”重命名为重命名为“v_成绩查询成绩
13、查询”。程序清单如。程序清单如下:下: sp_rename v_某班成绩,某班成绩,v_成绩查询成绩查询第八章第八章 视图及其应用视图及其应用v 修改视图属性修改视图属性 1、使用企业管理器、使用企业管理器 1)在企业管理器中,选择要修改的视图,然后右击。)在企业管理器中,选择要修改的视图,然后右击。 2)在弹出的快捷菜单中选择)在弹出的快捷菜单中选择“设计视图设计视图”命令,打开视图设计器。命令,打开视图设计器。 3)在视图设计器中,可以根据需要对视图进行修改,其方法与添加)在视图设计器中,可以根据需要对视图进行修改,其方法与添加视图相似。视图相似。 4)在设计器中对视图内容修改后,单击)在
14、设计器中对视图内容修改后,单击“保存保存”按钮,完成视图修按钮,完成视图修改。改。 2、使用、使用alter view语句语句其语法格式如下:其语法格式如下: alter view view_name ( column ,.n ) with encryption as select_statement with check option 第八章第八章 视图及其应用视图及其应用v 修改视图属性修改视图属性 例:将上面的例:将上面的“v_系课程计划系课程计划_1”视图中的筛选条件变为视图中的筛选条件变为 “专业代码专业代码=0102”。 程序清单如下:程序清单如下: alter view v_系课
15、程计划系课程计划_1 as select 课程课程.课程名课程名, 教学计划教学计划.课程类型课程类型,教学计划教学计划.开课学期开课学期,教学计划教学计划.学分学分 from 课程课程, 教学计划教学计划 where课程课程.课程号课程号=教学计划教学计划.课程号课程号 and专业代码专业代码=0102第八章第八章 视图及其应用视图及其应用v 修改视图属性修改视图属性 alter viewv_计算机系学生计算机系学生 with encryption as select * from 学生学生 where 系部代码系部代码 = 02第八章第八章 视图及其应用视图及其应用v 删除视图删除视图 1
16、、使用企业管理器、使用企业管理器 1)在企业管理器中,选择要删除的视图,右击该视图。)在企业管理器中,选择要删除的视图,右击该视图。 2)从弹出的快捷菜单中选择)从弹出的快捷菜单中选择“删除删除”命令,或者直接按下键盘上的命令,或者直接按下键盘上的delete键,或者使用工具栏中的键,或者使用工具栏中的“删除删除”按钮。按钮。 3)执行)执行“删除删除”命令后,弹出命令后,弹出“移去对象移去对象”对话框中,单击对话框中,单击“查看查看相关性相关性”按钮,查看与该视图有关的其他数据库对象是否依赖此视图按钮,查看与该视图有关的其他数据库对象是否依赖此视图,决定是否删除视图。如果确认删除视图,则单击
17、,决定是否删除视图。如果确认删除视图,则单击“全部除去全部除去”按钮按钮 。 2、使用使用drop view语句语句 语法格式如下:语法格式如下: drop view view ,.n 使用该语句可以同时删除多个视图,视图名称之间用逗号分隔即可。使用该语句可以同时删除多个视图,视图名称之间用逗号分隔即可。 例:删除视图例:删除视图v_成绩查询。程序清单如下:成绩查询。程序清单如下: use student go drop wiew v_成绩查询成绩查询 go第八章第八章 视图及其应用视图及其应用v 使用视图使用视图 1、通过视图查询数据信息、通过视图查询数据信息 对于视图,可以象使用基表一样对
18、其进行查询。对于视图,可以象使用基表一样对其进行查询。 例:查询例:查询“v_计算机系学生计算机系学生”视图中全体学生的记录。视图中全体学生的记录。 use student go select * from v_计算机系学生计算机系学生 go 例:查询例:查询“v_计算机系学生计算机系学生”视图中全体男学生的记录。视图中全体男学生的记录。 use student go select * from v_计算机系学生计算机系学生 where 性别性别=男男 go 第八章第八章 视图及其应用视图及其应用v 使用视图使用视图 2、通过视图修改数据、通过视图修改数据 通过视图来修改基表中的数据,包含数据
19、插入、数据删除和数据通过视图来修改基表中的数据,包含数据插入、数据删除和数据修改。由于视图本身不实际存储数据,它只是显示一个或多个基表的修改。由于视图本身不实际存储数据,它只是显示一个或多个基表的查询结果,修改视图中的数据的实质是在修改视图引用的基表中的数查询结果,修改视图中的数据的实质是在修改视图引用的基表中的数据,因此,在使用视图修改数据时,要注意下列一些事项:据,因此,在使用视图修改数据时,要注意下列一些事项: 1)不能在一个语句中对多个基表使用数据修改语句。如果要修改由)不能在一个语句中对多个基表使用数据修改语句。如果要修改由两个或两个以上基表得到的视图,必须进行多次修改,每次修改只能
20、两个或两个以上基表得到的视图,必须进行多次修改,每次修改只能影响一个基表。影响一个基表。 2)对于基表中需更新而又不允许空值的所有列,它们的值在)对于基表中需更新而又不允许空值的所有列,它们的值在 insert 语句或语句或 default 定义中指定。这将确保基表中所有需要值定义中指定。这将确保基表中所有需要值的列都可以获取值。的列都可以获取值。 第八章第八章 视图及其应用视图及其应用v 使用视图使用视图 2、通过视图修改数据、通过视图修改数据 3)不能修改那些通过计算得到结果的列。)不能修改那些通过计算得到结果的列。 4)在视图定义中使用了)在视图定义中使用了 with check opt
21、ion 子句,则所有在子句,则所有在视图上执行的数据修改语句都必须符合定义视图的视图上执行的数据修改语句都必须符合定义视图的 select 语句中语句中所设定的条件。所设定的条件。 5)在基表的列中修改的数据必须符合对这些列的约束条件,如是否)在基表的列中修改的数据必须符合对这些列的约束条件,如是否为空、约束、为空、约束、default 定义等。定义等。第八章第八章 视图及其应用视图及其应用v 使用视图使用视图 例:向例:向“v_计算机系学生计算机系学生”视图中插入一条新的学生记录。视图中插入一条新的学生记录。 use student go insert into v_计算机系学生计算机系学生 values(010101001002,李菲李菲,女女 ,1980/02/8,1981/02/01, 010101001 ,01,01
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林大专考试题目及答案
- 精准农业的未来试题及答案
- 广西两学试题及答案高三
- 招聘辅导员考试公共事务处理能力考核试题及答案
- 2024年农业职业经理人考试全景解析试题及答案
- 吉林省德惠市第七中学七年级地理上册 1.2 地球的运动教学设计 (新版)新人教版
- 关于农业职业经理人考试的多样学习方法试题及答案
- 福建事业单位考试领导能力试题及答案
- 2024年园艺师考试植物结构与功能试题及答案
- 福建事业单位考试的学习障碍及其解决方法试题及答案
- [PPT]桥梁工程桩基施工超全解析(41页 配图丰富)_ppt
- 第6章工厂布局设计课件
- 叉车定期检验研究分析报告
- 雷达生命探测仪培训-PPT课件
- 光缆和管道的施工规范标准
- (高清版)建筑工程裂缝防治技术规程JGJ_T 317-2014
- 陕西沉积钒矿勘查规范(1)
- 融资租赁单利名义利率、复利实际利率计算表(附公式版)
- 医院安全生产大检查自查记录文本表
- 卡通风区三好学生竞选演讲ppt模板
- CNG卸气站操作规程
评论
0/150
提交评论