数据库基础第6章视图与索引

上传人:tian****1990 文档编号:75091334 上传时间:2019-01-30 格式:PPT 页数:47 大小:547KB
返回 下载 相关 举报
数据库基础第6章视图与索引_第1页
第1页 / 共47页
数据库基础第6章视图与索引_第2页
第2页 / 共47页
数据库基础第6章视图与索引_第3页
第3页 / 共47页
数据库基础第6章视图与索引_第4页
第4页 / 共47页
数据库基础第6章视图与索引_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《数据库基础第6章视图与索引》由会员分享,可在线阅读,更多相关《数据库基础第6章视图与索引(47页珍藏版)》请在金锄头文库上搜索。

1、第6章 视图与索引,本章学习目标,l 理解视图与索引的涵义及作用 l 熟练创建和管理视图及索引 l 灵活运用视图及索引以提高系统开发效率,6.1 创建视图 6.1.1 认识视图 1视图的概念: 视图是从一个或多个基本表(或视图)派生出的虚拟表,它可以是连接多张数据表的虚表,也可以是使用WHERE子句限制条件的查询结果。与真实的表一样,视图也包括几个被定义的数据列和多个数据行,但从本质上讲,这些数据列和数据行的物理存储位置仍然在它所引用的基本表中。 2使用视图的优点和作用 视图一经定义后,就可以像表一样被查询、修改、删除和更新,但与直接使用表相比,使用视图又具有许多优点: (1)为用户集中数据,

2、简化用户的数据查询和处理。有时用户所需要的数据分散在多个表中,定义视图可将它们集中在一起,从而方便用户的数据查询和处理。,(2) 屏蔽数据库的复杂性。用户不必了解复杂的数据库中的表结构,并且数据表的更改也不影响用户对数据库的使用。 (3) 简化用户权限的管理。使用视图时,只需授予用户使用视图的权限,而不必指定用户只能使用表的特定列,增加了安全性。 (4) 便于数据共享。各用户不必都定义和存储自己所需的数据,可共享数据库的数据,这样同样的数据只需存储一次。 (5) 可以重新组织数据以便输出到其他应用程序中。,6.1.2 创建视图 视图在数据库中是作为一个对象来存储的。创建视图前,要保证创建视图的

3、用户已被数据库所有者授权使用CREATE VIEW语句,并且有权操作视图所涉及的表或其他视图。在SQL Server 2000中,创建视图可以在企业管理器或视图向导中进行,也可以使用T-SQL的CREATE VIEW语句。 创建视图时,需要注意以下事项: (1)只能在当前数据库中创建视图。 (2)如果视图引用的基表或者视图被删除,则该视图不能再被使用,直到创建新的基表或者视图。 (3)如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。 (4)不能在视图上创建索引,不能在规则、缺省、触发器的定义中引用视图。,(5)当通过视图查询数据时,SQL Server要检

4、查以确保语句中涉及的所有数据库对象存在,而且数据修改语句不能违反数据完整性规则。 (6)视图的名称必须遵循标识符的规则,且对每个用户必须是唯一的。此外,该名称不得与该用户拥有的任何表的名称相同。 1使用企业管理器创建视图 【例6-1】使用企业管理器在XSCJ数据库中创建V_05GZYY的视图,只显示【学生基本信息表】中班级编码为20051001的班级的学生信息 打开【企业管理器】,在控制台树中展开【数据库】,右击XSCJ,在弹出的快捷菜单中选择【新建】菜单的【视图】命令。或者展开XSCJ数据库,右击【视图】,在弹出的快捷菜单中选择【新建视图】命令。 在所出现窗口的第一个子窗口中单击鼠标右键,将

5、弹出一个【添加表】快捷菜单,如图6-1所示。,图6-1 【添加表】快捷菜单,在快捷菜单中选择【添加表】菜单项,将出现如图6-2所示的【添加表】对话框。,图6-2 【添加表】对话框,在如图6-2所示的【添加表】对话框中选择与视图相关联的表、视图或函数,可以使用Ctrl或Shift键进行多选,此处选择“学生基本信息表”,选择完毕后,单击【添加】按钮,如图6-3所示。,图6-3 选择表、视图或函数,在如图6-1所示的窗口的第二个子窗口中选择创建视图所需的字段,可以指定列的别名、排序方式和规则等,此处选择表中所有的字段,在“班级编号”字段的准则处设置准则为“=20051001”,如图6-4所示。注意当

6、视图中需要一个与原字段名不同的字段名,或视图的源表中有同名的字段,或视图中包含了计算列时,需要为视图中的这样的列重新指定名称。,图6-4 选择列,说明:这一步所选择的字段、规则等的情况相对应的SELECT语句将会自动显示在第三个小窗口中。也可以直接在该小窗口输入SELECT语句。 上一步完成后,单击【保存】按钮,出现如图6-5所示的保存视图对话框。在其中输入视图名,此处输入“V_05GZYY”并单击【确定】按钮,便完成了视图的创建。 视图一经创建成功,其中便包含了所选择的列数据。此例中,创建了视图V_05GZYY,则可查看其结构及内容,方法是:在视图V_05GZYY上单击鼠标右键,选择【设计视

7、图】功能项即可以查看并修改视图结构;选择【打开视图】【返回所有行】将可查看视图的数据内容。 2通过视图向导创建视图 【例6-2】使用视图向导在XSCJ数据库中创建“V_少数民族信息”的视图,只显示【学生基本信息表】中少数民族学生的学号、姓名、性别、族别、家庭住址信息。,打开【企业管理器】,选择【工具】菜单中的【向导】菜单项,出现如图6-6所示的【选择向导】对话框。,图6-5 保存视图对话框 图6-6 【选择向导】对话框,在【选择向导】对话框中展开【数据库】,选择【创建视图向导】菜单项,单击【确定】按钮,将出现欢迎使用向导界面。,在欢迎使用向导界面中单击【下一步】,出现如图6-7所示的选择数据库

8、对话框。选择数据库名称,此处选择XSCJ,单击【下一步】,出现选择对象对话框。,图6-7 选择数据库,在如图6-8所示的选择对象对话框中选择与视图相关联的表,此处选择“学生基本信息表”,单击【下一步】,出现如图6-9所示的选择列对话框。,图6-8 选择对象对话框,图6-9 选择列对话框,在选择列对话框中选择视图所需要的列,此处选择“学号”、“姓名”、“性别”、“族别”、“家庭住址”列,单击【下一步】,出现如图6-10所示的视图限制对话框。,图6-10 输入视图限制对话框,在视图限制对话框中输入对视图的限制条件,本例为:WHERE 族别汉族,单击【下一步】,出现如图6-11所示的输入视图名对话框

9、。,图6-11 输入视图名对话框,在输入视图名对话框中输入视图名,单击【下一步】,出现如图6-12所示的视图创建完成对话框,单击【完成】,则视图创建完毕。,图6-12 视图创建完成对话框,3使用CREATE VIEW语句创建视图 语法格式为: CREATE VIEW 视图名(列名1,列名2,n) WITH ENCRYPTION AS 查询语句 WITH CHECK OPTION,其中: l 列名 视图中包含的列,可以有多个列名,最多可引用1024个列。若使用与源表或视图中相同的列名时,则不必给出列名。 l ENCRYPTION 说明在系统表syscomments中存储CREATE VIEW语句

10、时进行加密。 l 查询语句 用来创建视图的SELECT语句。可在SELECT语句中查询多个表或视图,以表明新创建的视图所参照的表或视图,但对SELECT语句有以下的限制: 定义视图的用户必须对所参照的表或视图有查询权限,即可执行SELECT语句。 不能使用COMPUTE或COMPUTE BY子句。 不能使用ORDER BY子句。 不能使用INTO子句。 不能在临时表或表变量上创建视图。 l WITH CHECK OPTION 指出在视图上所进行的修改都要符合查询语句所指定的限制条件,这样可以确保数据修改后仍可通过视图看到修改的数据。例如对于V_05GZYY视图,只能修改除“班级编号”字段以外的

11、字段值,而不能把“班级编号”字段的值改为“=20051001”以外的值,以保证仍可通过V_05GZYY视图查询到修改后的数据。,【例6-3】创建一个名为“V_计算机系课程信息”的视图,要求显示系部编号为01的课程信息。 在查询分析器中运行如下命令: USE XSCJ GO CREATE VIEW V_计算机系课程信息 AS SELECT * FROM 课程信息表 WHERE 系部编号=01 GO 运行结果如图6-13所示。,图6-13 创建名为“V_计算机系课程信息”的视图,【例6-4】使用SELECT语句查看“V_计算机系课程信息”视图的返回结果。 在查询分析器中运行如下命令: USE XS

12、CJ GO SELECT * FROM GO 运行结果如图6-14所示。,图6-14 使用SELECT语句查看视图返回结果,【例6-5】使用企业管理器查看“V_少数民族信息”视图的返回结果。 在控制台树中展开XSCJ数据库。 单击【视图】,在视图详细列表中右击【V_少数民族信息】视图,在弹出菜单中选择【切换到视图】下的【返回所有行】命令。返回结果如图6-15所示。,图6-15 使用企业管理器查看“V_少数民族信息”视图的返回结果,6.2 管理视图 6.2.1 查看视图信息 每当创建了一个新的视图后,则在系统说明的系统表中就定义了该视图的存储,因此,可以使用系统存储过程sp_help显示视图特征

13、,使用sp_helptext显示视图在系统表中的定义,使用sp_depends显示该视图所依赖的对象。它们的语法形式分别如下: (1)sp_help 数据库对象名称 (2)sp_helptext 视图(触发器、存储过程)名 (3) sp_depends 数据库对象名称,【例6-6】使用系统存储过程sp_helptext查看“V_计算机系课程信息”视图的定义信息。 在查询分析器中运行如下命令: USE XSCJ GO EXEC sp_helptext V_计算机系课程信息 GO 运行结果如图6-16所示。 图6-16 查看“V_计算机系课程信息”视图的定义,【例6-7】使用系统存储过程sp_he

14、lp显示视图“V_05GZYY”特征。 在查询分析器中运行如下命令: USE XSCJ GO sp_help V_05GZYY GO 运行结果如图6-17所示。 图6-17使用系统存储过程sp_help显示视图“V_05GZYY”特征,【例6-8】使用系统存储过程sp_depends显示视图“V_05GZYY”所依赖的对象。 在查询分析器中运行如下命令: USE XSCJ GO sp_depends V_05GZYY GO 运行结果如图6-18所示。 图6-18 使用系统存储过程sp_depends显示视图“V_05GZYY”所依赖的对象,6.2.2 修改视图,1使用企业管理器修改视图。 【例

15、6-9】使用企业管理器将视图“V_05GZYY”修改为只显示女生信息。 在控制台树中展开XSCJ数据库。 单击【视图】,在视图列表中双击【V_05GZYY】视图,可以看到该视图的属性对话框,如图6-19所示。可以在该对话框中直接对视图的定义进行修改,此处将条件改为“WHERE班级编号 = 20051001 AND 性别=女”,修改完毕后,单击【确定】按钮返回。 图6-19 使用企业管理器修改视图,2使用ALTER VIEW语句修改视图 语法格式如下:,ALTER VIEW 视图名 (列名1,列名2,.n) WITH ENCRYPTION AS 查询语句 WITH CHECK OPTION 【例

16、6-10】使用ALTER VIEW语句修改视图“V_计算机系课程信息”,使其只显示“课程编号”、“课程名称”、“考核类型”、“任课教师”信息。 在查询分析器中运行如下命令: USE XSCJ GO ALTER VIEW V_计算机系课程信息 AS SELECT 课程编号,课程名称,考核类型,任课教师 FROM 课程信息表 WHERE 系部编号=01 GO 运行结果如图6-20所示。 图6-20 使用ALTER VIEW语句修改视图,6.2.3 视图更名,1使用企业管理器重命名视图 【例6-11】使用企业管理器将视图“V_05GZYY”重命名为“V_05高职应用”。 在控制台树中展开XSCJ数据库。 单击【视图】,在视图详细列表中右击“V_05GZYY”,在弹出的菜单中单击【重命名】命令。 输入视图的新名称“V_05高职应用”。 在重命名对话框中单击【是】按钮,确认新名称。 系统显示成功命名提示后,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号