第7章索引及视图.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 索引与视图 7.1 索引概述 7.1.1 索引的基本概念 7.1.2 索引分类 7.2 索引的操作 7.2.1 创建索引 7.2.2 查看索引 7.2.3 编辑索引 7.2.4 删除索引 7.3 视图概述 7.3.1 视图的概念 7.3.2 视图的作用 7.3.3 视图的限制 7.4 视图的操作 7.4.1 创建视图 7.4.2 修改视图 7.4.3 删除视图 7.4.4 查看和修改视图属性 7.5 视图的应用 7.5.1 通过视图检索表数据 7.5.2 通过视图添加表数据 7.5.3 通过视图修改表数据 7.5.4 通过视图删除表数据 视图的概念 视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进行查询的结果。 视图的定义:SQL-Select语句 视图的使用:等同于基表,可以使用Select、Insert、Update等操作 视图的概念 视图可以是一个数据表的一部分,也可以是多个基表的联合;视图也可以由一个或多个其他视图产生。 基表中的数据发生变化,从视图中查询出的数据也随之改变;视图中的数据发生变化,基表中的数据也可能发生变化 视图引例 例7-6-1 男职员的工号、姓名、出生日期、地址、电话保存为视图View_nan CREATE VIEW view_nan(employee_id,employee_name,birth_date,address,telephone) AS SELECT employee_id,employee_name,birth_date,address,telephone FROM employee WHERE sex=‘男’ 例7-6-1-1查询男职员的工号、姓名、出生日期、地址、电话 SELECT * FROM view_nan 视图作用 优点: 简化用户查询(如连接) 为用户定制数据(不同的用户以不同的方式看到不同或者相同的数据集) 简化用户权限的管理(授予在视图上的操作权限,而没有授予用户在表上的操作权限) 导出数据(定义多表视图,利用批复制功能实现数据导出) 缺点 降低性能(视图消解) 修改限制(有些复杂视图是不能修改的) 视图限制 (1)在一个批事务中,CREATE VIEW语句不能与其他SQL语句结合使用。 (2)不能在视图上建立触发器和索引。 (3)一个视图最多只能有250列。 (4)不能基于临时表建立视图,由SELECT INTO语句可建立临时表,在CREATE VIEW语句中不能使用INTO关键字。 (5)在CREATE VIEW语句中不能使用联合操作符UNION。 视图限制 (6)在插入或修改数据时,每个INSERT语句和UPDATE语句不能影响一个以上的视图基表。 (7)对视图中的计算列不允许使用INSERT语句插入数据。 (8)UPDATE语句不能够修改视图的计算列数据,也不允许它修改包含集合的函数和内置函数的视图列。 (9)在视图的Text和Image数据类型的列上不允许使用READTEXT和WRITETEXT语句。 创建视图 SQL Server管理平台 T-SQL CREATE VIEW [ owner .] view_name [ ( column_name [ ,...n ] ) ] [WITH ENCRYPTION] AS select_statement [WITH CHECK OPTION] WITH CHECK OPTION:迫使通过视图执行的所有数据修改语句必须符合视图定义中设置的条件。 WITH ENCRYPTION:对视图的定义进行加密 注意 组成视图的属性列名 全部省略或全部指定 省略: 由子查询中SELECT目标列中的诸字段组成 明确指定视图的所有列名时: (1) 某个目标列是集函数或列表达式 (2) 目标列为 * (3) 多表连接时选出了几个同名列作为视图的字段 (4) 需要在视图中为某个列启用新的更合适的名字 视图存储 DBMS执行CREATE VIEW语句时只是把视图的定义存入数据字典,并不执行其中的SELECT语句。 在对视图查询时,按视图的定义从基本表中将数据查出。 创建视图示例 例7-6 在Sales数据库中创建sell_view视图,该视图选择3个基表(employee,goods,sell_order)中的数据来显示员工销售货物情况的虚拟表。 CREATE VIEW sell_view AS SELECT employee.employee_name, employee.employee_id, sell_order.order_num, sell_order.discount, goods.goods_name

文档评论(0)

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

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

1亿VIP精品文档

相关文档