第8章 视图.docx

上传人:b****8 文档编号:10026730 上传时间:2023-05-23 格式:DOCX 页数:16 大小:230.68KB
下载 相关 举报
第8章 视图.docx_第1页
第1页 / 共16页
第8章 视图.docx_第2页
第2页 / 共16页
第8章 视图.docx_第3页
第3页 / 共16页
第8章 视图.docx_第4页
第4页 / 共16页
第8章 视图.docx_第5页
第5页 / 共16页
第8章 视图.docx_第6页
第6页 / 共16页
第8章 视图.docx_第7页
第7页 / 共16页
第8章 视图.docx_第8页
第8页 / 共16页
第8章 视图.docx_第9页
第9页 / 共16页
第8章 视图.docx_第10页
第10页 / 共16页
第8章 视图.docx_第11页
第11页 / 共16页
第8章 视图.docx_第12页
第12页 / 共16页
第8章 视图.docx_第13页
第13页 / 共16页
第8章 视图.docx_第14页
第14页 / 共16页
第8章 视图.docx_第15页
第15页 / 共16页
第8章 视图.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第8章 视图.docx

《第8章 视图.docx》由会员分享,可在线阅读,更多相关《第8章 视图.docx(16页珍藏版)》请在冰点文库上搜索。

第8章 视图.docx

第8章视图

第8章视图

  关键词:

    视图  创建视图  使用视图  修改视图  查询视图  删除视图

  学习要求:

    本章主要阐述了SQL Server 2000中视图的创建和使用方法。

并且全面地、系统地介绍了视图与表之间的区别和联系;视图的优点;创建、修改和删除视图的方法。

重点分析了视力的创建和使用方法。

学习和掌握本章,是对SQL Server 2000数据库的灵活运用。

8.1视图概述

  视图是从一个或者多个表中使用SELECT语句导出的虚表。

只有形没有值

  可对视图进行查询操作,但对视图的更新要受到限制。

目的是节省存储空间

  视图的优点:

  ●将数据集中显示。

使用户只关心他们感兴趣的某些特定数据和他们所负责的特定任务。

  ●屏蔽数据的复杂性,简化用户对数据库的操作。

  ●可以使用视图重新组织数据,对数据表进行分块显示。

  ●提供数据安全性。

 视图把用户可以使用的数据定义在视图中,这样用户就不能使用视图定义外的其他数据,从而保证了数据安全性。

8.2创建视图

引言

  视图在数据库中是作为一个独立的对象进行存储的。

创建视图要考虑如下的原则:

  ●只能在当前数据库中创建视图。

使用分布式查询定义的视图除外。

  ●视图名称必须遵循标识符的规则,且对每个用户必须为唯一。

此外,该名称不得与该用户拥有的任何表的名称相同。

  ●可以在其他视图和引用视图的过程之上建立视图。

  ●定义视图的查询不可以包含ORDER BY. COMPUTE或COMPUTE BY子句或INTO关键字。

  ●不能在视图上定义全文索引。

  ●不能创建临时视图,也不能在临时表上创建视图。

8.2.1使用企业管理器创建视图

  在企业管理器中,创建视图的操作步骤如下:

  

(1)打开企业管理器,在相应的数据库文件夹下面,右击“视图”文件夹,然后执行“新建视图”命令,打开新建视图对话框。

  

(2)在对话框的第一栏中,右击鼠标,打开快捷菜单,执行其中的“添加表”命令,如下图8-1所示。

图8-1 新建视图

  (3)在打开的“添加表”对话框中,可以选择表、视图或者函数,然后单击“添加”按钮,就可将其添加到视图的查询中。

这里选择school数据库的student、course和score表,如下图8-2所示。

图8-2 添加表

  (4)选择表、视图或者函数后,单击“关闭”按钮,返回新建视图对话框。

  (5)在第一栏中,可看到添加进来的student、course和score表,并且显示出了它们之间的关联。

在每一字段前面都包含一个复选框,可以选择该复选框将其添加到视图中。

这里依次选择student.sname、ame和score.degree字段,如下图8-3所示。

图8-3 新视图

  (6)选择字段后,单击工具栏上的“保存”按钮。

  (7)在弹出的对话框中输入视图的名称,这里输入st_degree,然后单击“确定”按钮,即可完成视图st_degree的创建,如下图8-4所示。

图8-4 另存为界面

8.2.2使用向导创建视图

  使用向导创建视图的操作步骤:

  

(1)在企业管理器中,执行“工具”菜单中的“向导”命令,打开“选择向导”对话框。

选择“数据库”文件夹下的“创建视图向导”选项,单击“确定”按钮,如下图8-5所示。

图8-5 选择向导

  

(2)在打开的“欢迎使用创建视图向导”对话框中,单击“下一步”按钮,向导提示选择数据库。

可以在“数据库名称”下拉列表框中选择要创建的视图所在的数据库。

这里选择school数据库,然后单击“下一步”按钮,如下图8-6所示。

图8-6 创建的视图向导1

  (3)向导提示选择数据库对象。

通过选择“包含在视图中”复选框来选择视图所使用的数据库对象。

这里创建一个如同st_degree视图的视图st1_degree,因此选择student、course和score表。

单击“下一步”按钮,如下图8-7所示。

图8-7 创建的视图向导2

  (4)向导提示选择视图需要的列。

这里选择dbo.student.sname、ame和dbo.score.degree字段。

单击“下一步”按钮,如下图8-8所示。

图8-8 创建的视图向导3

  (5)在出现的创建视图限制对话框,输入视图限制的SQL语句,这里输入:

 

  WHERE student.sno=score.sno AND o=o

  然后单击“下一步”按钮,如下图8-9所示。

图8-9 创建的视图向导4

  (6)向导提示输入视图的名称“st1_degree”。

单击“下一步”按钮,如下图8-10所示。

图8-10 创建的视图向导5

  (7)向导显示出用于创建视图的完整的SQL语句。

用户可以再次修改该语句。

单击“完成”按钮即可创建视图,如下图8-11所示。

图8-11 创建的视图向导6

8.2.3使用SQL语句创建视图

  格式:

CREATE VIEW [database_name.] [ owner.] view_name

  [(column [,…n])]

   [WITH view_attribute [,…n ]]

   AS

   select_statement

   [WITH CHECK OPTION]

  view_attribute定义为:

  {ENCRYPTION | SCHEMABINDING | VIEW_METADATA}

  各主要参数的含义如下:

  ●view_name:

视图的完整名称,它必须符合标识符规则。

  ●AS:

是视图要执行的操作。

  ●select_statement:

是定义视图的SELECT语句。

  ●WITH CHECK OPTION:

强制视图上执行的所有数据修改语句都必须符合由select_ statement设置的准则。

  ●WITH ENCRYPTION:

加密包含CREATE VIEW语句文本的系统表列。

凡加密了的视图,在企业管理器中将不能查看视图定义信息。

  例:

创建st2_degree视图,其中包括了学生姓名、课程和成绩。

  USE school

  GO

  CREATE VIEW st2_degree

  AS

  SELECT student.sname AS ’姓名’,ame AS ’课程’,

  score.degree AS ’成绩’

  FROM student,course,score

  WHERE student.sno=score.sno AND o=o

  GO

8.3使用视图

8.3.1使用视图进行数据检索

  例:

利用st2_degree视图来查询所有学生的成绩。

  USE school

  GO

  SELECT * FROM st2_degree

  GO

  也可在企业管理器中查看视图数据。

操作步骤如下:

  

(1)打开企业管理器,展开服务器组,然后展开服务器。

  

(2)展开“数据库”文件夹,展开该视图所属的数据库,然后单击“视图”文件夹。

  (3)在要查看的视图上右击鼠标,打开一快捷菜单,执行“打开视图”子菜单中的“返回所有行”命令,即可打开指定的视图查看数据。

8.3.2通过视图修改数据

(一)视图更新规则

  对视图更新有以下三条规则:

  ●若视图是由两个以上基表导出的,则该视图不允许更新。

  ●若在导出视图的过程中,使用了分组和集函数的,则该视图不允许更新。

  ●若视图是从单个基本表中使用选择、投影导出的,并且包含了侯选关键字(这类视图称为行列子集视图),则该视图允许执行更新操作。

(二)使用视图之例

  例:

在test数据库中创建一个表和基于该表的视图,并利用视图插入了两个记录。

  USE test

  GO

  --如果表Table4存在,则删除

  IF EXISTS(SELECT TABLE_NAME

       FROM INFORMATION_SCHEMA.TABLES

       WHERE TABLE_NAME = ’Table4’)

   DROP TABLE Table4

  GO

  --如果视图Viewl存在,则删除

  IF EXISTS(SELECT TABLE_NAME

       FROM INFORMATION_SCHEMA.VIEWS

       WHERE TABLE_NAME = ’View1’)

   DROP VIEW View1

  GO

  --创建表Table4

  CREATE TABLE Table4(col1 int,col2 varchar(30))

  GO

  --创建视图Viewl

  CREATE VIEW View1 AS SELECT col2, col1 FROM Table4

  GO

  --通过视图View1插入一笔记录

  INSERT INTO View1 VALUES (’第1行’,1)

  GO

  INSERT INTO View1 VALUES (’第2行’,2)

  --查看插入的记录

  SELECT * FROM Table4

  GO

8.4视图的修改

8.4.1修改视图

  1、使用企业管理器

  使用企业管理器修改视图的操作步骤如下:

  

(1)打开企业管理器,展开服务器组,然后展开服务器。

  

(2)展开“数据库”文件夹,展开该视图所属的数据库,然后单击“视图”。

  (3)在右侧的详细信息窗格中,右击要修改的视图,然后单击“设计视图”命令。

即可打开设计视图对话框。

在此对话框中,可修改视图的定义。

  (4)下图打开的是test数据库的View1视图的“设计视图”对话框。

如果要添加表,则可以在上面的窗格中右击鼠标,然后选择“添加表”命令。

若要删除表,则可以在表的标题栏上右击鼠标,然后选择“删除”命令,如下图8-12所示。

图8-12 设计视图

  (5)在中间的网格窗格的某一列上,右击鼠标,然后单击“属性”命令,则打开列的“属性”对话框。

在此对话框中可以设置列的属性。

其中,选中“输出全部列” 复选框则在视图的结果中显示所有列,选中“DISTINCT值” 复选框则筛选出结果集中的重复值,选中“加密浏览” 复选框则加密视图的定义,选中“顶端”复选框则输入要在结果集中返回的行数,“所有者”下拉列表中显示该视图的所有者,如下图8-13所示。

 

图8-13 属性界面

  (6)设置完成后,单击“关闭”按钮。

要保存对视图的修改,可单击工具栏上的“保存”按钮。

 

 2、使用ALTER VIEW语句

  格式:

ALTER VIEW [database_name.]

     [owner.] view_name [(column [,…n])]

   [WITH viewes_attribute [,…n]]

     AS

      select_statement

   [WITH CHECK OPTION]

  view_attribute定义为:

   {ENCRYPTION | SCHEMABINDING | VIEW_METADATA}

  各参数的含义与CREATE VIEW语句中的参数相同。

8.4.2重命名视图

(一)重命名视图应注意的问题

  1、重命名的视图必须位于当前数据库中。

  2、新名称必须遵守标识符规则。

  3、只能重命名自己拥有的视图。

  4、数据库所有者可以更改任何用户视图的名称。

(二)重命名视图的方法

  1、可以通过企业管理器完成

  在企业管理器中,只要在要重命名的视图上右击鼠标,执行“重命名”命令,然后输入新的视图名称即可。

  2、通过sp_rename存储过程完成

  格式:

sp_rename [@objname = ] ’object_name’,

   [@newname = ] ’new_name’

   [,[ @objtype = ] ’object_type’]

  object_type:

要重命名的对象的类型。

  例:

将视图View1重命名为View2。

  USE test

  GO

  EXEC sp_rename ’View1’,’View2’

  GO

8.5视图信息的查询

引言

  如果视图定义没有加密,即可获取该视图定义的有关信息。

8.5.1使用企业管理器查询视图信息

  使用企业管理器查看视图信息的操作步骤如下:

  

(1)打开企业管理器,展开服务器组,然后展开服务器。

  

(2)展开“数据库”文件夹,展开该视图所属的数据库,然后单击“视图”文件夹。

在右侧详细信息窗格中,右击要查看信息的视图,例如“View2”视图,然后执行“属性”命令。

  (3)在打开的“查看属性”对话框中,中间部分显示该视图的定义,可以直接修改该视图的定义。

单击“检查语法”按钮可对视图的定义进行语法检查。

单击“权限”按钮,将打开权限设置对话框,如下图8-14所示。

图8-14 查看属性界面

  (4)在权限设置对话框中,可以设置用户对该视图所具有的权限,可设置的权限有:

SELECT、INSERT、UPDATE、DELETE、EXEC和DRI权限。

  (5)设置完成后,单击“确定”按钮,关闭设置权限对话框。

  (6)在“查看属性”对话框中,单击“确定”按钮即可,如下图8-15所示。

图8-15 对象属性界面

8.5.2使用sp_helptext存储过程查询视图信息

  格式:

sp_helptext [@objname = ] ’name’  

  例:

USE school

    GO

    EXEC sp_helptext st2_degree

8.6视图的删除

8.6.1使用企业管理器删除视图

  使用企业管理器删除视图的操作步骤如下:

  

(1)打开企业管理器,展开服务器组,然后展开服务器。

  

(2)展开“数据库”文件夹,展开该视图所属的数据库,然后单击“视图”文件夹。

  (3)在右侧详细信息窗格中,右击要删除的视图,在出现的快捷菜单中单击“删除”命令,如下图8-16所示。

图8-16 控制台根目录界面

  (4)在打开的“除去对象”对话框中,“显示相关性”按钮用于查看删除此视图对数据库的影响。

 单击“全部除去”按钮即可删除视图;单击“取消”按钮取消删除操作,如下图8-17所示。

图8-17 除去对象界面

8.6.2使用Transact-SQL删除视图

  格式:

DROP VIEW {view_name} [,…n]

  例:

USE test

   GO

   --如果视图View1存在,则删除

   IF EXISTS(SELECT TABLE_NAME

        FROM INFORMATION_SCHEMA.VIEWS

        WHERE TABLE_NAME = ’View1’)

    DROP VIEW View1

  GO

重点分析

  本章主要讨论了关于视图的创建和使用方法,对视图与表之间的区别和联系、视图的优点等基本概念要清楚,对创建、修改和删除视图的方法等基本操作要熟练掌握。

  1、视图是从一个或者多个表中使用SELECT语句导出的虚表。

  2、视图的优点:

  

(1)将数据集中显示。

使用户只关心他们感兴趣的某些特定数据和他们所负责的特定任务。

  

(2)屏蔽数据的复杂性,简化用户对数据库的操作。

  (3)可以使用视图重新组织数据,对数据表进行分块显示。

  (4)提供数据安全性。

 视图把用户可以使用的数据定义在视图中,这样用户就不能使用视图定义外的其他数据,从而保证了数据安全性。

  3、视图的创建、查询、修改、重命名、删除方法有用企业管理器和Transact-SQL语句两种。

对于较熟练的人来说引用Transact-SQL语句创建的方法,优点在于操作时间短,效率高。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2