书签 分享 收藏 举报 版权申诉 / 57
上传文档赚钱

类型11章-视图-SQL-教学课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5218053
  • 上传时间:2023-02-17
  • 格式:PPT
  • 页数:57
  • 大小:1.59MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《11章-视图-SQL-教学课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    11 视图 SQL 教学 课件
    资源描述:

    1、第第11章章 视图视图第第1111章章 视图视图 q 概述概述q 创建视图创建视图q 使用视图管理数据使用视图管理数据q 视图的修改视图的修改q 使用视图加强安全使用视图加强安全q 小结小结q 习题习题 2023-1-11第第11章章 视图视图一、视图概述一、视图概述视图是查看数据库表中数据的一种方法。实际上,视图是根据预定义的选择标准由一个或多个行的集合建立起来的动态表的静态定义。视图只是一种逻辑对象,是一种虚拟表,它并不是物理对象,因为视图不占物理存储空间。在数据库中,存储的是视图的定义,而不是视图查询的数据。通过这个定义,对视图查询最终转换为对基本表的查询。在视图中被查询的表称为基本表。

    2、视图也可以从一个或多个其他视图中产生。大多数的SELECT语句都可以用在创建视图中。导出的SELECT语句存放在数据库中,而与视图定义相关的数据并没有在数据库中另外另外保存一份。2023-1-12第第11章章 视图视图使用视图时,要注意以下事项:(1)只能在当前数据库中创建视图。(2)一个视图最多可以引用1024个列。(3)视图的命名必须符合SQL Server中标识符的定义规则,不能与表同名,且对每个用户所定义的视图名称必须惟一,即对不同用户,即使是定义相同的视图,也必须使用不同的名字。(4)可以将视图建立在其他视图或者引用视图的过程之上,SQL Server 2000中允许最多32层的视图

    3、嵌套。(5)不能将规则、默认值定义绑定在视图上,或将触发器与视图相关联。(6)定义视图的查询语句中不能包括ORDER BY、COMPUTE、COMPUTE BY子句或是INTO等关键词。2023-1-13第第11章章 视图视图第第11章章 视图视图第第11章章 视图视图二、创建视图二、创建视图当创建视图时,Microsoft SQL Server首先验证在视图定义中所参考的对象是否存在。视图的名称必须符合命名规则。指定视图所有者的姓名是可选的。因为视图的外表和表的外表是一样的,因此,为了区别表和视图,应该使用一种命名机制,使人容易分辨出视图和表。视图在数据库中是作为一个对象来存储的。创建视图前

    4、,要保证创建视图的用户已被数据库所有者授权使用CREATE VIEW语句,并且有权操作视图所涉及的表或其他视图的SELECT权限。2023-1-16第第11章章 视图视图一般情况下,不必在创建视图时指定列名。SQL Server使视图中的列与定义视图的查询所引用的列具有相同的名称和数据类型。但是以下情况必须在定义视图时指定列的名称:由算术表达式、系统内置函数或常量得到的列;通常由于视图定义包含连接,而来自两个或多个不同表的列具有相同的名称。即视图中两列或多列具有相同的名称;希望视图中的列名与表中的列名不同的时候。2023-1-17第第11章章 视图视图 查询和视图虽然很相似,但还是有许多区别,

    5、主要区别为:存储方式:视图存储为数据库的一部分(即视图保存在数据库中),而查询则不是。更新结果:对视图和查询的结果集更新限制是不同的。排序结果:可以排序任何查询结果,但是只有当视图包括TOP子句时才能排序视图。参数设置:可以为查询创建参数,但不能为视图创建参数。加密:可以加密视图,但不能加密查询。2023-1-18第第11章章 视图视图在SQL Server 2000中创建视图可以有三种方法:1、使用企业管理器创建视图使用企业管理器创建视图2、使用创建视图向导创建视图使用创建视图向导创建视图3、使用使用Transact-SQL语句中的语句中的CREATE VIEW命令创建视图命令创建视图202

    6、3-1-19第第11章章 视图视图1、使用企业管理器创建视图、使用企业管理器创建视图方法一:在企业管理器左边的“树”选项卡中选择指定的SQL Server组,展开指定的服务器,打开要创建视图的数据库文件夹,选中指定的数据库,右击该数据库图标,从弹出的快捷菜单中依次选择“新建”“视图”命令,会打开新建视图对话框。方法二:也可以在数据库文件夹中,右击下一层的“视图”选项,在弹出的快捷菜单中选择“新建视图”命令。2023-1-110第第11章章 视图视图2、使用创建视图向导创建视图使用创建视图向导创建视图方法一:在企业管理器中选中某个数据库,单击“工具”菜单,选择其中的“向导”命令。在出现的“选择向

    7、导”对话框中单击其中“数据库”选项左边的加号,在下一级选项中会看到“创建视图向导”选项。方法二:在企业管理器中,选择工具栏中的“向导”图标,会直接打开“选择向导”对话框。2023-1-111第第11章章 视图视图3、使用、使用Transact-SQL语句创建视图语句创建视图创建一个虚拟表,该表以另一种方式表示一个或多个表中的数据。CREATE VIEW必须是查询批处理中的第一条语句。视图的内容就是SELECT语句的内容。根据SELECT语句的不同,视图的定义即可以非常的简单,也可以非常复杂。其语法形式如下:CREATE VIEW .view_name (column ,.n )WITH ,.n

    8、 AS SELECT_statement WITH CHECK OPTION :=ENCRYPTION|SCHEMABINDING|VIEW_METADATA 2023-1-112第第11章章 视图视图owner用于指定创建视图的所有者的用户名,owner必须是当前数据库中的现有用户名,owner默认为当前数据库中与当前连接相关联的用户名。view_name是视图的名称。视图名称必须符合标识符规则。可以选择是否指定视图所有者名称。column是视图中的列名。只有在下列情况下,才必须命名 CREATE VIEW中的列:当列是从算术表达式、函数或常量派生的,两个或更多的列可能会具有相同的名称(通常

    9、是因为联接),视图中的某列被赋予了不同于派生来源列的名称。还可以在 SELECT 语句中指派列名。如果未指定 column,则视图列将获得与 SELECT 语句中的列相同的名称。n是表示可以指定多列的占位符。AS是视图要执行的操作。SELECT_statement用于创建视图的SELECT语句,利用SELECT命令可以从多个表中或者视图中选择列构成新视图的列,也可以使用UNION关键字联合起来的多个SELECT语句。但是,在SELECT语句中,不能使用ORDER BY、COMPUTE、COMPUTE BY语句和INTO关键字及临时表。其中各参数的说明如下:2023-1-113第第11章章 视图

    10、视图WITH CHECK OPTION强制视图上执行的所有数据修改语句都必须符合由 SELECT_statement 设置的准则。通过视图修改行时,WITH CHECK OPTION 可确保提交修改后,仍可通过视图看到修改的数据。WITH ENCRYPTION表示SQL Server加密包含CREATE VIEW语句文本在内的系统表列。WITH ENCRYPTION主要用于将存储在系统表syscomments中的语句进行加密,可防止将视图作为 SQL Server 复制的一部分发布。SCHEMABINDING将视图绑定到架构上。指定 SCHEMABINDING 时,SELECT_stateme

    11、nt 必须包含所引用的表、视图或用户定义函数的两部分名称(owner.object)。不能除去参与用架构绑定子句创建的视图中的表或视图,除非该视图已被除去或更改,不再具有架构绑定。否则,SQL Server 会产生错误。另外,如果对参与具有架构绑定的视图的表执行 ALTER TABLE 语句,而这些语句又会影响该架构绑定视图的定义,则这些语句将会失败。VIEW_METADATA指定为引用视图的查询请求浏览模式的元数据时,SQL Server 将向 DBLIB、ODBC 和 OLE DB API 返回有关视图的元数据信息,而不是返回基本表或表。浏览模式的元数据是由 SQL Server 向客户端

    12、 DB-LIB、ODBC 和 OLE DB API 返回的附加元数据,它允许客户端 API 实现可更新的客户端游标。浏览模式的元数据包含有关结果集内的列所属的基本表信息。对于用 VIEW_METADATA 选项创建的视图,当描述结果集中视图内的列时,浏览模式的元数据返回与基本表名相对的视图名。当用 VIEW_METADATA 创建视图时,如果该视图具有 INSERT 或 UPDATE INSTEAD OF 触发器,则视图的所有列(timestamp 除外)都是可更新的。2023-1-114第第11章章 视图视图【例】创建具有简单 SELECT 语句的视图USE pubsIF EXISTS(SE

    13、LECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME=titles_view)DROP VIEW titles_viewGOCREATE VIEW titles_viewAS SELECT title,type,price,pubdateFROM titlesGO2023-1-115第第11章章 视图视图【例】建立一个视图,用于从book_manage数据库中检索作者信息并使用中文字段名来代替表中的英文字段名。CREATE VIEW authinf(作者编号,姓名,性别,年龄)AS SELECT authorid,auth

    14、orname,sex,age FROM book_manageGO2023-1-116第第11章章 视图视图【例】创建视图,使用 WITH ENCRYPTION、WITH CHECK OPTION选项。USE pubsIF exists(SELECT table_name FROM information_schema.views WHERE table_name=emprange)DROP VIEW emprangeGOCREATE VIEW emprange(emp_id,fname,lname,pubid,job_id)WITH encryptionASSELECT emp_id,fna

    15、me,lname,pub_id,job_idFROM employeeWHERE job_id between 11 and 12WITH check optionGO2023-1-117第第11章章 视图视图2023-1-118第第11章章 视图视图【例】假设存在三个结构相同的表,图书信息1,图书信息2,图书信息3分别存放清华大学出版社、高等教育出版社、人民邮电出版社三个出版社的图书信息,可以创建一个视图将它们合并在一起。USE 学生图书借阅管理 GO CREATE VIEW 全部图书信息 AS SELECT*FROM 图书信息1 UNION SELECT*FROM 图书信息2 UNION

    16、SELECT*FROM 图书信息32023-1-119第第11章章 视图视图【例如】创建视图B_TITLEAUTHOR。USE pubsGOCREATE VIEW b_titleauthor AS SELECT title,price,au_fname,au_lnameFROM titles t JOIN titleauthor ta ON(t.title_id=ta.title_id)JOIN authors a ON(a.au_id=ta.au_id)WHERE type=businessGO 创建视图时,源表可以是基本表,也可以是视图。【例如】创建商业类书的平均价格视图B_TITLEAU

    17、THOR_AVG。USE pubs GO CREATE VIEW b_titleauthor_avg(price_avg)AS SELECT avg(price)FROM b_titleauthor GO/*查询商业类书的书名和作者姓名。*/SELECT title,au_lname,au_fname FROM b_titleauthor2023-1-120第第11章章 视图视图 【例】创建一个视图,其中的内容是所有价格低于10元的图书,并加密视图的定义。USE 学生图书借阅管理 GO CREATE VIEW 低价图书 WITH ENCRYPTION AS SELECT*FROM 图书信息 W

    18、HERE 定价定价 18GO/*查看*/SELECT *FROM roysched_viewGO/*插入数据该行数据直接进入底层的基本表*/INSERT INTO roysched_view(title_id,lorange,hirange,royalty)VALUES(BU2075,50001,75000,22)/*分别查看新插入的记录*/SELECT*FROM roysched_viewGOSELECT*FROM roysched2023-1-128第第11章章 视图视图【例】创建视图B_TITLE(包括TITLE_ID、TITLE和PRICE3个字段),并向B_TITLE视图中插入一条记

    19、录。USE pubsGOCREATE VIEW b_title AS SELECT title_id,title,price FROM titlesWHERE type=businessGOINSERT b_title VALUES(BU1122,Fishing with computer,56.00)2023-1-129第第11章章 视图视图【例】建立视图wa_publishers,用于提取表格中来自华盛顿州作家的出版商的信息/*创建一个新的视图wa_publishers*/CREATE VIEW wa_publishers AS SELECT*FROM publishersWHERE st

    20、ate=WAGO/*在该视图中添加一条新的数据记录*/INSERT INTO wa_publishers(pub_id,pub_name,city,state,country)VALUES(9994,QQQ,Atlanda,GI,USA)2023-1-130第第11章章 视图视图/*重新创建一个新的视图wa_publishers_2*/CREATE VIEW wa_publishers_2 AS SELECT*FROM publishersWHERE state=WAWITH CHECK OPTIONGO/*在该视图中添加一条新的数据记录*/INSERT INTO wa_publishers(

    21、pub_id,pub_name,city,state,country)VALUES(9996,QQQ,Atlanda,GI,USA)程序返回提示:视图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了WITH CHECK OPTION,而该操作的一个或多个结果行又不符合CHECK OPTION约束的条件。语句已终止。2023-1-131第第11章章 视图视图3、使用视图进行修改数据、使用视图进行修改数据使用UPDATE语句可以通过视图修改基本表的数据。如果希望通过一个视图修改表中的数据,首先必须保证这个视图时刻更新的,这就要求查询语句中没有汇总函数,也没有计算字段,此外在

    22、查询语句的FROM子句中必须至少引用了一个表。使用UPDATE语句即可以直接对一个表中的数据进行修改,也可以通过一个可更新的视图对基本表中的数据进行修改。使用视图更新数据记录应该注意以下几点:在一个UPDATE语句中修改的字段必须属于同一个基本表。如果要对多个表中的数据行修改,则需要使用多个UPDATE语句来完成。对于基本表数据的修改,必须满足在字段上设置的约束,例如是否可以为空值,是否具有惟一性。如果在视图定义中使用了WITH CHECK OPTION子句,则通过这个视图进行修改时提供的数据就必须满足SELECT语句中的选择条件,否则UPDATE语句将被中止并返回错误信息。2023-1-13

    23、2第第11章章 视图视图【例】前面建立了一个浏览作者、书名和出版商的视图,现在要更新这个视图中的信息,把姓Hunter的作者的姓更改为Henter,把他写的书 Secrets of Silicon Valley 改为Top Secrets of Silicon Valley。错误的更新语句(一个错误的更新语句(一个UPDATE 语句中同时更新来自两个基本表中的数据列):语句中同时更新来自两个基本表中的数据列):UPDATE author_title_publisherSET title=Top Secrets of Silicon Valley,au_lname=Henter WHERE au

    24、_lname=HunterGO正确的更新语句(分解为两个更新操作):正确的更新语句(分解为两个更新操作):UPDATE author_title_publisherSET title=Top Secrets of Silicon Valley WHERE au_lname=HunterGOUPDATE author_title_publisherSET au_lname=Henter WHERE au_lname=HunterGO即:若一个视图依赖于多个基本表,则一次修改该视图只能变动一个基本表的数据。即:若一个视图依赖于多个基本表,则一次修改该视图只能变动一个基本表的数据。2023-1-13

    25、3第第11章章 视图视图4、使用视图进行删除数据、使用视图进行删除数据使用视图删除记录,可以删除任何其所依赖的基本表其所依赖的基本表中的记录,直接利用DELETE语句删除记录即可。但必须指定在视图中定义过的字段来删除记录。视图的删除实际就是删除表的数据。但要注意,对于依赖于多个基本表的视图,不能使用对于依赖于多个基本表的视图,不能使用DELETE语句。语句。其语法格式如下:DELETE 视图名 WHERE 搜索条件【例】删除B_TITLE中价格小于$10的记录。DELETE FROM b_title1WHERE price102023-1-134第第11章章 视图视图在定义了一个视图之后,可以

    26、改变它的名称或修改它的定义,而不用删除后再重建视图。因为那样会丢失与视图相关的权限设置。一般说来,对视图的修改不会影响任何依赖的对象(如存储过程或触发器),除非对视图的定义的修改使得依赖的对象不再有效了。四、视图的修改四、视图的修改1.修改视图定义2.重命名视图3.查看视图信息4.删除视图2023-1-135第第11章章 视图视图修改视图定义修改视图定义如果已定义的视图不能满足用户要求,可以使用企业管理器或Transact-SQL 中的ALTER VIEW语句修改视图的定义。1使用企业管理器修改视图定义在企业管理器中,右击要修改的视图名称,从弹出的快捷菜单中选择“设计视图”命令,会出现视图的设

    27、计窗口。该窗口与创建视图时的窗口相同,可以按照创建视图的方法修改视图的定义。2023-1-136第第11章章 视图视图2使用Transact-SQL语句修改视图定义可以使用Transact-SQL语句中的ALTER VIEW语句修改视图,但首先必须拥有使用视图的权限,然后才能使用ALTER VIEW命令。使用ALTER VIEW语句的语法为:ALTER VIEW .view_name (column ,.n )WITH ,.n AS SELECT_statement WITH CHECK OPTION :=ENCRYPTION|SCHEMABINDING|VIEW_METADATA 2023-

    28、1-137第第11章章 视图视图在修改视图时需要注意以下几点:只有当在执行ALTER VIEW语句前后视图中的列有同样的名称的时候,视图中的列的权限才可以保留下来。如果视图以前的定义中使用了WITH ENCRYPTION或CHECK OPTION,则只有在ALTER VIEW中的页包含了这些选项时,他们才继续有用。ALTER VIEW 可以用于索引化视图,但是会无条件地删除所有视图上的索引。2023-1-138第第11章章 视图视图【例】创建一个视图,它包含了所有的作者,视图名字为All_authors,然后用ALTER VIEW语句对这个视图定义进行修改,在修改以后的视图中要求使用汉字表示视

    29、图中字段名并加上WITH ENCRYPTION和CHECK OPTION子句。USE pubsGO/*从authors 表中创建一个视图包含所有的作者*/CREATE VIEW All_authors(au_fname,au_lname,address,city,zip)AS SELECT au_fname,au_lname,address,city,zipFROM authorsGO/*使用ALTER VIEW 语句*/ALTER VIEW All_authors(姓名,地址,城市,邮编,电话)WITH ENCRYPTIONASSELECT au_fname+SPACE(1)+au_lnam

    30、e,address,city,zip,phoneFROM authorsWITH CHECK OPTIONGO2023-1-139第第11章章 视图视图2023-1-140第第11章章 视图视图重命名视图重命名视图对于一个已经存在的视图,不仅可以对其定义进行修改,也可以对其名称进行修改。在重命名一个视图的时候应当遵循下面的指导:要重新命名的视图必须在当前数据库中;视图名称必须遵循标识符规则;只能修改自己所拥有的视图的名称;数据库所有者可以修改任何用户视图的名称。2023-1-141第第11章章 视图视图1使用企业管理器重命名视图2023-1-142第第11章章 视图视图2使用系统存储过程重命名

    31、视图可以使用系统存储过程sp_rename来修改视图的名称,语法形式如下:sp_rename 对象名称,新名称,对象类型一个通过执行系统存储过程sp_addtype 添加的用户自定义数据类型USERDATATYPE一个有系统表sysobject跟踪的对象类型,可以是约束、也可以使用户建立的表、视图、存储过程、触发器以及规则OBJECT一个由用户定义的索引INDEX一个由用户定义的数据库DATABASE一个字段 COLUMN 系统存储过程sp_name中对象类型的描述对象类型的取值【例】修改视图名字USE book_mamageGOEXEC sp_rename authinf,作者信息视图,OB

    32、JECTGO2023-1-143第第11章章 视图视图查看视图信息查看视图信息在实际工作中,可能需要查看视图定义,以了解数据从源表中的提取方式。SQL Server 2000允许用户通过查看系统表来获得视图的名称、视图的所有者、创建视图的时间等有关信息。1使用企业管理器查看视图信息使用企业管理器查看视图信息2使用系统存储过程查看视图信息使用系统存储过程查看视图信息当完成创建视图后,可以使用SQL Server自带的系统存储过程来浏览视图的信息,如视图的名称、视图的所有者、创建时间等。视图的信息存放在以下几个SQL Server系统表中:(1)sysobjects:存放视图的名称等基本信息。(2

    33、)syscolumns:存放视图中定义的列。(3)sysdepends:存放视图的依赖关系。(4)syscomments:存放定义视图的文本。2023-1-144第第11章章 视图视图【例】只要是浏览数据库pubs中的视图,可以使用下面的语句:USE pubsGOSELECT name,crdate,id,type/*crdate 创建日期,id对象的标识号,type对象的类型*/FROM sysobjectsORDER BY name2023-1-145第第11章章 视图视图【例】通过系统表获得视图信息USE pubsGOSELECT name,id,typeFROM sysobjectsW

    34、HERE type=V GOUSE pubsGOSELECT textFROM syscommentsWHERE id=565577053GO2023-1-146第第11章章 视图视图 使用系统存储过程sp_help浏览视图基本信息使用系统存储过程sp_help(不带任何参数)可以浏览所有默认数据库里的对象,当然也包括视图。使用sp_help加上视图名,可以浏览视图中各列的列表。【例】EXEC sp_help All_authors 使用系统存储过程sp_depends显示视图所依赖的对象用户有时需要查看视图与其他数据库对象之间的依赖关系,这时可以使用系统存储过程sp_depends。sp_d

    35、epends返回指定的数据库对象在系统表中所存储的所有相关性信息。相关信息是指创建这个数据库对象时引用了哪些别的数据库对象。【例】EXEC sp_depends All_authors2023-1-147第第11章章 视图视图 使用系统存储过程sp_helptext来显示视图的定义语句sp_helptext显示视图在系统表syscomments中的定义(显示规则、默认值、未加密的存储过程、用户定义函数、触发器或视图的文本等信息)。如果视图在创建或修改时没有被加密,就可以看到定义视图的语句。否则,如果视图如果视图被加密,则连视图的所有者和系统管理员都无法看到它的定义。被加密,则连视图的所有者和系

    36、统管理员都无法看到它的定义。语法:sp_helptextobjname=name【例】EXEC sp_helptext All_authors2023-1-148第第11章章 视图视图删除视图删除视图当不再需要视图或要清除该视图的定义和与之关联的访问权限定义时,可以删除视图。与删除表格不同的是,删除视图后,只是删除了视图的定义,原来通过视图获得的所有数据依然存在,并没有被删除。当视图被删除之后,该视图基本表中存储的数据并不会受到影响,但是任何建立在该视图之上的其他数据库对象的查询将会发生错误,除非创建了同样名称的一个视图。在删除视图时,定义在系统表sysobjects、syscolumns、s

    37、ysdepends、syscomments和sysprotects等中的视图信息也会被删除,而且视图的所有权限也一并被删除。2023-1-149第第11章章 视图视图1使用企业管理器删除视图2使用T-SQL语句删除视图DROP VIEW语句由于从当前数据库中删除一个或多个视图(只需在要删除的各视图名称之间用逗号隔开即可)。其命令语法格式为:DROP VIEW 视图名称,.n【例】同时删除视图v_student和v_teacher DROP VIEW v_student,v_teacher【例】从pubs示例数据库中删除名为title_view的视图 USE pubs GO DROP VIEW

    38、title_view2023-1-150第第11章章 视图视图五、使用视图加强安全五、使用视图加强安全一般来说,通过使用视图有3种途径来加强数据的安全性:对不同用户授予不同的使用许可权;通过使用SELECT子句限制用户对某些底层基本表列的访问;通过使用WHERE子句限制用户对某些底层基本表列的访问。2023-1-151第第11章章 视图视图 视图的许可权 对视图授予许可权是一种很实际的保护底层表格数据的方法。DBA可以建立多个视图,每个视图都有针对行或列的不同限制,然后再对使用视图的用户授予不同的访问许可权,这样就给用户提供了多种访问数据的方式。2023-1-152第第11章章 视图视图 使用

    39、视图隐藏列 【例】查询出每本书的发行量,隐含出版社付给作者的版税信息USE pubsGOCREATE VIEW roysched_protect_viewASSELECT title_id,lorange,hirange FROM royschedGOSELECT*FROM roysched_protect_view2023-1-153第第11章章 视图视图 使用视图隐藏行 灵活使用WHERE子句是对数据库安全性的有力增强。通过在WHERE子句中指定用户能够看到的行,可以横向隐藏表格中的数据。【例】只允许发行量超过5000的书被查询USE pubsGOCREATE VIEW roysched_

    40、protect_view_2ASSELECT title_id,lorange,hirange FROM royschedWHERE hirange-lorange5000GOSELECT*FROM roysched_protect_view_22023-1-154第第11章章 视图视图本章小结本章小结语句语法格式视图定义创建CREATE VIEW 视图名(列名1,n)AS 查询语句修改ALTER VIEW 视图名(列名1,n)AS 查询语句删除DROP VIEW 视图名,n数据操作插入INSERT INTO 表名视图名(列名1,)Values(表达式1,)修改UPDATE 表名视图名 SET

    41、 列名=表达式WHERE 条件删除DELETE 表名视图名WHERE 条件查询SELECT 字段列表 FROM 数据表视图,2023-1-155第第11章章 视图视图1.什么叫视图?简述视图和数据查询之间的主要区别是什么?视图有哪些优点?视图有哪些限制?2.利用企业管理器在pubs示例数据库中建立一个视图。3.利用CTEATE VIEW语句在pubs示例数据库中建立一个视图。4.通过视图修改基本表中的数据时需要注意什么?5.在创建视图的时候,包含WITH CHECK OPTION选项和没有该选项的差别是什么?6.如何加密自己创建视图的定义?习习 题题2023-1-156第第11章章 视图视图7.操作练习:为Northwind数据库创建视图view1,要求显示产品ID号(productID)、单价(unitprice)、数量(quantity)金额。(参考表order details)为Northwind数据库创建视图view2,要求显示产品名称(ProductName)、单价(unitprice)、数量(quantity)。(参考表order details和表products)为Northwind数据库创建视图view3,要求只有UnitPrice超过50美元的订单信息可以被浏览。(参考表order details和表order)2023-1-157

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:11章-视图-SQL-教学课件.ppt
    链接地址:https://www.163wenku.com/p-5218053.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库