第7章 视图及索引.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 视图与索引 7.1 视图 主要内容 视图的基本概念 创建视图 修改视图 删除视图 使用视图 视图的基本概念 视图是从一个或几个表导出来的表,它不是真实存在的基本表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。 视图的主要作用 体现在如下三个方面: (1) 简单性。被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。 (2) 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。 (3) 逻辑数据独立性。视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。 创建视图 (1) 使用SSMS图形化方式 例7.1 利用例5.9教学管理数据库的三个基本表,创建信息系(IS)学生的成绩表视图V_IS。其结构为: V_IS(SNO,SNAME,CNAME,GRADE,SDEPT) 具体步骤如下: (1) 在“对象资源管理器”中展开“数据库”文件夹,并进一步展开“JXGL”文件夹。 (2) 右击“视图”选项,在弹出的快捷菜单中选择“新建视图”菜单项,进入视图设计界面。 (3) 在弹出的“添加表”对话框中”,可以选择创建视图所需的表、视或者函数等。本例中选择了基本表S、SC和C。单击“添加”按钮,即可将这三个表添加到视图查询中。 创建视图 (2) (4) 单击对话框中的“关闭”按钮,则返回到SQL Server Management Studio的视图设计界面。 在窗口右侧的“视图设计器”中包括以下4个区域: 关系图区域:以图形方式显示正在查询的表和其它表结构化对象,同时也显示它们之间的关联关系。 列条件区域:是一个类似于电子表格的网格,用户可以在其中指定视图的选项。 SQL区域:显示视图所要存储的查询语句。可以对设计器自动生成的SQL语句进行编辑,也可以输入自己的SQL语句。 结果区域:显示最近执行的选择查询的结果。 创建视图 (3) (5) 为视图选择包含的列。可以通过“关系图区域”、“列条件区域”或“SQL区域”的任何一个区域做出修改,另外两个区域都会自动更新以保持一致。 (6) 在“列条件区域”的“SDEPT”列的筛选器中写上筛选条件“=’IS’”。在SQL区域中就可以看到所生成相应的T-SQL语句。如图7.2所示。 (7) 单击工具栏上的“执行”按钮 ,在数据区域将显示包含在视图中的数据行。单击“保存”按钮,视图取名“V_IS”,即可保存视图。 使用T-SQL语句 其语句格式为: CREATE VIEW 视图名[(列名[, … n ])] AS SELECT查询子句 [WITH CHECK OPTION] 创建视图 (4) 例7.2 建立数学系(MA)学生的视图V_MA,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生。 USE JXGL GO CREATE VIEW V_MA AS SELECT SNO,SNAME,AGE FROM S WHERE SDEPT=MA WITH CHECK OPTION GO 由于在定义V_MA视图时加上了WITH CHECK OPTION子句,以后对该视图进行插入、修改和删除操作时,RDBMS会验证条件SDEPT=’MA’。 创建视图 (5) 例7.3 创建学生选修课程的门数和平均成绩的视图C_G,其中包含的属性列为(SNO,C_NUM, AVG_GRADE) USE JXGL GO CREATE VIEW C_G(SNO,C_NUM,AVG_GRADE) AS SELECT SNO,COUNT(CNO),AVG(GRADE) FROM SC WHERE GRADE IS NOT NULL GROUP BY SNO GO 组成视图的属性列名或者全部省略或者全部指定,如果省略了视图的各个属性列名,则隐含该视图由子查询中SELECT子句目标列中的诸项组成。 修改视图 (6) 使用SSMS图形化方式 例7.4 修改例7.3创建的视图C_G,使之只查询计算机科学系(CS)的学生选修课程的门数和平均成绩。 具体步骤如下: (1) 在“对象资源管理器”中展开“数据库”文件夹,并进一步展开“JXGL”文件夹。 (2) 展开“视图”选项,右击要修改的视图,在弹出的快捷菜单中选择“设计”菜单项,打开视图设计对话框就可以修改视图的定义了。 (3) 本例中,一是需要添加表S,只需在关系图区域中的空白处右击,在弹出的快捷菜单中选择“添加表”菜单项;二是需要修改筛选条件,在“列条件区域”的“SDEPT”列的筛选器中写上筛选条件“=’CS’”。在S

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档