数据库基础第6章视图与索引.ppt
《数据库基础第6章视图与索引.ppt》由会员分享,可在线阅读,更多相关《数据库基础第6章视图与索引.ppt(47页珍藏版)》请在三一办公上搜索。
1、第6章 视图与索引,本章学习目标,l理解视图与索引的涵义及作用l 熟练创建和管理视图及索引l 灵活运用视图及索引以提高系统开发效率,6.1 创建视图6.1.1 认识视图1视图的概念:视图是从一个或多个基本表(或视图)派生出的虚拟表,它可以是连接多张数据表的虚表,也可以是使用WHERE子句限制条件的查询结果。与真实的表一样,视图也包括几个被定义的数据列和多个数据行,但从本质上讲,这些数据列和数据行的物理存储位置仍然在它所引用的基本表中。2使用视图的优点和作用 视图一经定义后,就可以像表一样被查询、修改、删除和更新,但与直接使用表相比,使用视图又具有许多优点:(1)为用户集中数据,简化用户的数据查
2、询和处理。有时用户所需要的数据分散在多个表中,定义视图可将它们集中在一起,从而方便用户的数据查询和处理。,(2)屏蔽数据库的复杂性。用户不必了解复杂的数据库中的表结构,并且数据表的更改也不影响用户对数据库的使用。(3)简化用户权限的管理。使用视图时,只需授予用户使用视图的权限,而不必指定用户只能使用表的特定列,增加了安全性。(4)便于数据共享。各用户不必都定义和存储自己所需的数据,可共享数据库的数据,这样同样的数据只需存储一次。(5)可以重新组织数据以便输出到其他应用程序中。,6.1.2 创建视图 视图在数据库中是作为一个对象来存储的。创建视图前,要保证创建视图的用户已被数据库所有者授权使用C
3、REATE 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数据库,右击【视图】,在弹出的快捷菜单中选择【新建视图】命令。在所出现窗口的第一个子窗口中单击鼠标右键,将弹出一个【添加表】快捷菜单,如图6-1所示。,图6
5、-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所示的选择数据库对话框。选择数据库名称,此处选择XSCJ,单击【下一步】,出现选
8、择对象对话框。,图6-7 选择数据库,在如图6-8所示的选择对象对话框中选择与视图相关联的表,此处选择“学生基本信息表”,单击【下一步】,出现如图6-9所示的选择列对话框。,图6-8 选择对象对话框,图6-9 选择列对话框,在选择列对话框中选择视图所需要的列,此处选择“学号”、“姓名”、“性别”、“族别”、“家庭住址”列,单击【下一步】,出现如图6-10所示的视图限制对话框。,图6-10 输入视图限制对话框,在视图限制对话框中输入对视图的限制条件,本例为:WHERE 族别汉族,单击【下一步】,出现如图6-11所示的输入视图名对话框。,图6-11 输入视图名对话框,在输入视图名对话框中输入视图名
9、,单击【下一步】,出现如图6-12所示的视图创建完成对话框,单击【完成】,则视图创建完毕。,图6-12 视图创建完成对话框,3使用CREATE VIEW语句创建视图语法格式为:CREATE VIEW 视图名(列名1,列名2,n)WITH ENCRYPTIONAS 查询语句WITH CHECK OPTION,其中:l 列名 视图中包含的列,可以有多个列名,最多可引用1024个列。若使用与源表或视图中相同的列名时,则不必给出列名。l ENCRYPTION 说明在系统表syscomments中存储CREATE VIEW语句时进行加密。l 查询语句 用来创建视图的SELECT语句。可在SELECT语句
10、中查询多个表或视图,以表明新创建的视图所参照的表或视图,但对SELECT语句有以下的限制:定义视图的用户必须对所参照的表或视图有查询权限,即可执行SELECT语句。不能使用COMPUTE或COMPUTE BY子句。不能使用ORDER BY子句。不能使用INTO子句。不能在临时表或表变量上创建视图。l WITH CHECK OPTION 指出在视图上所进行的修改都要符合查询语句所指定的限制条件,这样可以确保数据修改后仍可通过视图看到修改的数据。例如对于V_05GZYY视图,只能修改除“班级编号”字段以外的字段值,而不能把“班级编号”字段的值改为“=20051001”以外的值,以保证仍可通过V_0
11、5GZYY视图查询到修改后的数据。,【例6-3】创建一个名为“V_计算机系课程信息”的视图,要求显示系部编号为01的课程信息。在查询分析器中运行如下命令:USE XSCJGOCREATE VIEW V_计算机系课程信息ASSELECT*FROM 课程信息表 WHERE 系部编号=01GO运行结果如图6-13所示。,图6-13 创建名为“V_计算机系课程信息”的视图,【例6-4】使用SELECT语句查看“V_计算机系课程信息”视图的返回结果。在查询分析器中运行如下命令:USE XSCJGOSELECT*FROM GO运行结果如图6-14所示。,图6-14 使用SELECT语句查看视图返回结果,【
12、例6-5】使用企业管理器查看“V_少数民族信息”视图的返回结果。在控制台树中展开XSCJ数据库。单击【视图】,在视图详细列表中右击【V_少数民族信息】视图,在弹出菜单中选择【切换到视图】下的【返回所有行】命令。返回结果如图6-15所示。,图6-15 使用企业管理器查看“V_少数民族信息”视图的返回结果,6.2 管理视图6.2.1 查看视图信息 每当创建了一个新的视图后,则在系统说明的系统表中就定义了该视图的存储,因此,可以使用系统存储过程sp_help显示视图特征,使用sp_helptext显示视图在系统表中的定义,使用sp_depends显示该视图所依赖的对象。它们的语法形式分别如下:(1)
13、sp_help 数据库对象名称(2)sp_helptext 视图(触发器、存储过程)名(3)sp_depends 数据库对象名称,【例6-6】使用系统存储过程sp_helptext查看“V_计算机系课程信息”视图的定义信息。在查询分析器中运行如下命令:USE XSCJGOEXEC sp_helptext V_计算机系课程信息GO 运行结果如图6-16所示。图6-16 查看“V_计算机系课程信息”视图的定义,【例6-7】使用系统存储过程sp_help显示视图“V_05GZYY”特征。在查询分析器中运行如下命令:USE XSCJGOsp_help V_05GZYYGO运行结果如图6-17所示。图6
14、-17使用系统存储过程sp_help显示视图“V_05GZYY”特征,【例6-8】使用系统存储过程sp_depends显示视图“V_05GZYY”所依赖的对象。在查询分析器中运行如下命令:USE XSCJGOsp_depends V_05GZYYGO运行结果如图6-18所示。图6-18 使用系统存储过程sp_depends显示视图“V_05GZYY”所依赖的对象,6.2.2 修改视图,1使用企业管理器修改视图。【例6-9】使用企业管理器将视图“V_05GZYY”修改为只显示女生信息。在控制台树中展开XSCJ数据库。单击【视图】,在视图列表中双击【V_05GZYY】视图,可以看到该视图的属性对话
15、框,如图6-19所示。可以在该对话框中直接对视图的定义进行修改,此处将条件改为“WHERE班级编号=20051001 AND 性别=女”,修改完毕后,单击【确定】按钮返回。图6-19 使用企业管理器修改视图,2使用ALTER VIEW语句修改视图 语法格式如下:,ALTER VIEW 视图名(列名1,列名2,.n)WITH ENCRYPTION AS查询语句 WITH CHECK OPTION【例6-10】使用ALTER VIEW语句修改视图“V_计算机系课程信息”,使其只显示“课程编号”、“课程名称”、“考核类型”、“任课教师”信息。在查询分析器中运行如下命令:USE XSCJGOALTER
16、 VIEW V_计算机系课程信息ASSELECT 课程编号,课程名称,考核类型,任课教师 FROM 课程信息表 WHERE 系部编号=01GO运行结果如图6-20所示。图6-20 使用ALTER VIEW语句修改视图,6.2.3 视图更名,1使用企业管理器重命名视图【例6-11】使用企业管理器将视图“V_05GZYY”重命名为“V_05高职应用”。在控制台树中展开XSCJ数据库。单击【视图】,在视图详细列表中右击“V_05GZYY”,在弹出的菜单中单击【重命名】命令。输入视图的新名称“V_05高职应用”。在重命名对话框中单击【是】按钮,确认新名称。系统显示成功命名提示后,单击【确定】按钮。,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 基础 视图 索引
链接地址:https://www.31ppt.com/p-6578493.html