欢迎来到天天文库
浏览记录
ID:59208239
大小:136.00 KB
页数:32页
时间:2020-09-26
《第5章 SQL视图管理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章SQL视图管理5.1视图基本概念5.2创建视图5.3查询视图5.4更新视图5.5视图的应用第5章SQL视图管理教学重点:(1)视图的概念和优点。(2)视图与表的区别。(3)创建视图。(4)对视图的操作。5.1视图基本概念视图是关系数据库系统提供给用户以多种角度观察数据库中的数据的重要机制。它是一种常用的数据库对象,是保存在数据库中的选择查询,它是提供查看和存放数据的另一种途径。使用视图不仅可以简化数据库操作,还可以提高数据库的安全性。5.1视图基本概念视图是用户查看数据库表中数据的一种方式,一个视图是一个虚拟表,它的数据是一个或多个表或者是视图的一个或多个子集。视图是用SQ
2、L语句而不是用数据构造的。一个视图看起来像一个表,而且它的操作也类似表,但它并不是表,它只是一组返回数据的SQL语句,本身并不存储任何数据。5.1视图基本概念使用视图有以下优点:(1)检索特定的数据,并达到数据安全保护的目的。(2)简化数据查询和处理操作。(3)便于数据交换操作。(4)对数据提供安全保护。5.1视图基本概念使用视图可以实现下列任一或所有功能:(1)将用户限定在表中的特定行上。(2)将用户限定在特定列上。(3)聚合信息而非提供详细信息。5.1视图基本概念视图修改数据有一定的规则:(1)视图修改采用与表格修改的所有限制:可NULL性、规则和限制等。(2)视图修改不能影
3、响多个基础表。假设视图在FROM子句中定义可多于一个表格,则可以执行的修改语句只能影响一个表,不能从多个表派生的视图中删除数据。(3)包含累计、计算值和内置函数的列不能通过视图修改。(4)如果通过视图进行修改但影响到的是视图中没有引用的列时可能会出错;如果视图中没有引用的列不允许NULL值或者不包含默认值,在插入行时会失败。5.2创建视图5.2.1使用SQLServerManagementStudio向导创建视图5.2.2使用CREATEVIEW语句创建视图5.2创建视图在创建视图前需要考虑的原则有:(1)只能在当前数据库中创建视图。(2)视图名称必须遵循标识符的规则,且对每个用
4、户必须惟一。同时该名称不得与该用户拥有的任何表的名称相同。(3)可以在其他视图和引用视图的过程之上建立视图。(4)不能将规则或DEFAULT定义与视图相关联。(5)不能将AFTER触发器与视图相关联,只有INSTEADOF触发器可以与之相关联。5.2创建视图(6)定义视图的查询不可以包含ORDERBY、COMPUTE或COMPUTEBY子句或INTO关键字。(7)不能在视图上定义全文索引。(8)不能创建临时视图,也不能在临时表上创建视图。(9)不能除去参与到用SCHEMABINDING子句创建的视图中的表或视图,除非该视图已被除去或更改而不再具有架构绑定。(10)不能对视图执行全
5、文查询,但是如果查询所引用的表被配置为支持全文索引,就可以在视图定义中包含全文查询。5.2.1使用SQLServeManagementStudio向导创建视图(1)启动SQLServerManagementStudio,选择服务器,右击“视图”,选择“新建视图”命令。(3)选择好创建视图的表名,单击“添加”按钮,出现“添加表”对话框,在显示区域内显示出新增加表的所有字段。5.2.1使用SQLServeManagementStudio向导创建视图(4)添加完后单击“关闭”按钮,出现完成表添加窗口,此时可以选择要在视图中显示的一个或多个字段名。(5)右击表头,选择“保存视图”命令
6、,输入创建的视图名称,单击“确定”按钮即可。5.2.2使用CREATEVIEW语句创建视图CREATEVIEW语法格式如下:CREATEVIEW视图名[(字段名)[,……n]][WITHENCRYPTION]ASSELECT语句[WITHENCRYPTION]其中“视图名”参数说明所创建的视图名称,“字段名”参数定义视图列名,列名参数或者全部指定或者全部省略。省略该参数时,视图结构将与SELECT子句所返回的结果集合结构相同。5.2.2使用CREATEVIEW语句创建视图SELECT语句引用的数据表称为视图的基表。“SELECT语句”参数为视图定义语句,它定义通过视图可以浏览到的
7、表或其他视图中那些数据,在CREATETABLE语句中,对SELECT语句有以下限制:(1)定义视图的用户必须具有查询语句所参照的对象。(2)在该查询语句中,不能包括ORDERBY、COMPUTE、COMPUTEBY关键字。(3)不能包含INTO关键字。(4)不允许参照临时表作为基础建立视图。5.2.2使用CREATEVIEW语句创建视图【例1】在basetest数据库中创建一个MA系的学生信息视图。在查询窗口中输入以下命令:USEbasetestGOCREATEVIEWMA系的
此文档下载收益归作者所有