IT SQL 语法大全--sql_15视图.ppt
《IT SQL 语法大全--sql_15视图.ppt》由会员分享,可在线阅读,更多相关《IT SQL 语法大全--sql_15视图.ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库程序设计数据库程序设计 SQL Server 2000 数据库程序设数据库程序设计计n第第1章章 SQL Server 概述概述n第第2章章 创建和管理数据库创建和管理数据库n第第3章章 创建数据类型和表创建数据类型和表n第第4章章 实现数据完整性实现数据完整性n第第5章章 Transact-SQL介绍介绍n第第6章章 使用使用 Transact-SQL查查询工具询工具n第第7章章 检索数据检索数据n第第8章章 数据分组与汇总数据分组与汇总n第第9章章 多表联接多表联接n第第10章章 子查询子查询n第第11章章 修改数据修改数据n第第12章章 全文索引查询全文索引查询 n第第13章章 规
2、划索引规划索引n第第14章章 创建和维护索引创建和维护索引n第第15章章 实现视图实现视图n第第16章章 实现存储过程实现存储过程n第第17章章 实现用户定义函数实现用户定义函数n第第18章章 实现触发器实现触发器n第第19章章 多服务器编程多服务器编程n第第20章章 优化查询性能优化查询性能n第第21章章 分析查询分析查询n第第22章章 管理事务和锁管理事务和锁第第15章章 实现视图实现视图n视图介绍视图介绍n视图的优点视图的优点n定义视图定义视图n通过视图修改数据通过视图修改数据n使用视图优化性能使用视图优化性能n推荐操作推荐操作视图视图 虚表,只有结构没有数据,源自一个或多个基本表,虚表
3、,只有结构没有数据,源自一个或多个基本表,集中用户感兴趣的数据,提高数据的安全性集中用户感兴趣的数据,提高数据的安全性基表基表1基表基表N视图视图视图介绍视图介绍15.1 视图介绍视图介绍n视图提供了将预定义的查询存储成数据库中的对象视图提供了将预定义的查询存储成数据库中的对象以备将来使用的能力以备将来使用的能力l在视图中被查询的表称为基表l可以将任何 SELECT 语句命名和存储为视图,除了一些例外n视图的常见实例视图的常见实例l一个基表的行或列的子集l两个或多个表的合并l两个或多个表的联接l一个基表的统计摘要l另一个视图或视图和基表组合的子集第第15章章 实现视图实现视图n视图介绍视图介绍
4、n视图的优点视图的优点n定义视图定义视图n通过视图修改数据通过视图修改数据n使用视图优化性能使用视图优化性能n推荐操作推荐操作视图的优点视图的优点n对用户只显示特定数据:不需要的、敏感的或不合对用户只显示特定数据:不需要的、敏感的或不合适的数据不引入视图内适的数据不引入视图内l只关注于重要的或适当的数据l限制对敏感数据的访问n屏蔽数据库复杂性屏蔽数据库复杂性l隐藏复杂的数据库设计。开发者可修改设计而不影响用户与数据库的交互。同时,提供给用户更友好的界面l简化复杂的查询,包括对异构数据的分布式查询。用户直接查询视图,而不需要写查询语句或执行脚本15.2 视图的优点视图的优点视图的优点(续)视图的
5、优点(续)n简化用户权限管理简化用户权限管理l不必对用户赋予查询基表中特定列的权限,而只需要赋予用户查询视图的权限即可n改进性能改进性能l视图允许存储复杂查询的结果,让其他查询直接使用。视图亦允许分区数据,可将单独的分区放置于分散的计算机内n组织数据以便导出到其他应用程序组织数据以便导出到其他应用程序l可基于联接两个或多个表的复杂查询创建视图,并将数据导出到其他应用程序以进行更深入的分析15.2 视图的优点视图的优点第第15章章 实现视图实现视图n视图介绍视图介绍n视图的优点视图的优点n定义视图定义视图n通过视图修改数据通过视图修改数据n使用视图优化性能使用视图优化性能n推荐操作推荐操作定义视
6、图定义视图n创建视图创建视图n示例示例 联接表的视图联接表的视图n更改和删除视图更改和删除视图n避免破坏所有权链避免破坏所有权链n查找视图定义信息查找视图定义信息n隐藏视图定义隐藏视图定义15.3 定义视图定义视图创建视图创建视图n创建视图创建视图l可通过使用创建视图向导、企业管理器或 Transact-SQL 语句创建视图 l创建视图时,SQL Server 2000 将检查视图定义语句中所有引用的数据库对象是否都存在l视图的命名必须遵守标识符的命名规则,拥有者是可选的。建议使用一个一致的命名约定来区别表和视图l执行 CREATE VIEW 语句的用户必须是 sysadmin、db_owne
7、r 或 db_ddladmin 角色的成员,或具有 CREATE VIEW 权限。在视图中引用的所有表和视图上,也要拥有 SELECT 权限15.3.1 创建视图创建视图CREATE VIEW dbo.OrderSubtotalsView(OrderID,Subtotal)ASSELECT OD.OrderID,SUM(CONVERT(money,(OD.UnitPrice*Quantity*(1-Discount)/100)*100)FROM Order Details ODGROUP BY OD.OrderIDGO创建视图(续)创建视图(续)n使用使用 SELECT 语句指定视图的内容语句
8、指定视图的内容l必须在语句中指定列名的情况n 得自于算术表达式、内建函数或常量的视图列n 在联接中使用相同名字的基表列l指定列名的方法n 在 SELECT 语句中使用列别名n 在 CREATE VIEW 语句中指定15.3.1 创建视图创建视图创建视图(续)创建视图(续)n视图定义的视图定义的限制限制lCREATE VIEW 语句不能包括 COMPUTE 或 COMPUTE BY 子句,也不能包括 INTO 关键字l仅当使用 TOP 关键字的时候,CREATE VIEW 语句才能包括 ORDER BY 子句l视图不能引用临时表或变量l视图不能引用超过1 024列l在单一批处理中,CREATE
9、VIEW 语句不能和其他 Transact-SQL 语句组合使用15.3.1 创建视图创建视图2.使用企业管理器创建视图使用企业管理器创建视图 1)在企业管理器,)在企业管理器,打开“视图设计器”2)单击工具栏上的)单击工具栏上的“添加表添加表”按钮,将按钮,将表添加到视图设计器中设计器中 3)根据新建视图的需要,)根据新建视图的需要,从表中选择视图引用的列 4)在网格窗格中的)在网格窗格中的“准则准则”栏中栏中设置过滤记录的条件 5)设置视图的)设置视图的其他属性 6)在视图设计器窗口中,)在视图设计器窗口中,检查SQL语法 7)最后,单击)最后,单击“保存”按钮,为视图按钮,为视图指定名称
10、步骤:步骤:2.使用企业管理器创建视图使用企业管理器创建视图创建过程中的图解:创建过程中的图解:2.使用企业管理器创建视图使用企业管理器创建视图创建过程中的图解:创建过程中的图解:“添加表”按钮关系图窗格网格窗格SQL窗格结果窗格属性 视图设计器 图 “添加表”对话框 图 选择表列图 “属性”对话框 图 选择工具菜单中的向导命令3.使用向导创建视图使用向导创建视图图 “选择向导”对话框 图 欢迎使用创建视图向导对话框图 选择数据库 图 “选择对象”对话框 图 “选择列”对话框 图 “定义限制”对话框 图 完成创建视图向导对话框 上机操作上机操作n以在以在PUBS数据库中创建数据库中创建B_TI
11、TLEAUTHOR(描述商业类(描述商业类书的情况)视图书的情况)视图,包含,包含authors表的表的au_lname,au_fname,titles表的表的title字段,指定字段,指定TYPE字段的规则为字段的规则为BUSSINESS 示例示例 联接表的视图联接表的视图15.3.2 示例示例 联接表的视图联接表的视图创建视图以提供一个方便地从两个或多个联接表中查看信息的方法OrderIDOrderID1066310827104271045110515CustomerIDCustomerIDBONAP BONAP PICCO QUICKQUICK RequiredDateRequiredD
12、ate1997-09-241998-01-261997-02-241997-03-051997-05-07ShippedDateShippedDate1997-10-031998-02-061997-03-031997-03-121997-05-23OrdersCustomersShipStatusViewUSE NorthwindGOCREATE VIEW dbo.ShipStatusViewASSELECT OrderID,RequiredDate,ShippedDate,ContactNameFROM Customers c INNER JOIN Orders o ON c.Custom
13、erID=O.CustomerIDWHERE RequiredDate ShippedDateCustomerIDCustomerIDBONAPPICCOQUICKCompanyNameCompanyNameBon appPiccolo und mehrQUICK-StopContactNameContactNameLaurence LebihanGeorg PippsHorst KlossOrderIDOrderID1026410271102801996-08-211996-08-291996-09-11ShippedDateShippedDate1996-08-231996-08-3019
14、96-09-12ContactNameContactNameLaurence LebihanGeorg PippsHorst Kloss更改和删除视图更改和删除视图n更改视图:可更改一个视图(包括索引视图)的定更改视图:可更改一个视图(包括索引视图)的定义,但不影响相关的存储过程或触发器,也不更改义,但不影响相关的存储过程或触发器,也不更改权限权限语法:ALTER VIEW 拥有者.视图名(列,.n)WITH ENCRYPTION|SCHEMABINDING|VIEW_METADATA,.n AS select语句 WITH CHECK OPTIONl和 CREATE VIEW 的限制相同l保
15、留分配的权限l使用新的 SELECT 语句和选项代替原来的定义n删除视图:从数据库中删除视图的定义和所有分配删除视图:从数据库中删除视图的定义和所有分配给它的权限给它的权限语法:DROP VIEW 视图名,.n15.3.3 更改和删除视图更改和删除视图n拥有权链:相依赖的对象具有不同的拥有者,形成了拥有权链:相依赖的对象具有不同的拥有者,形成了拥有权链拥有权链l若视图的拥有者亦拥有下层的对象,则让其他用户访问视图时只需要把视图的权限分配给其他用户;否则,需要把所有牵涉到的对象的权限分配给其他用户l为了避免破坏拥有权链,应该让 dbo 用户拥有所有视图n示例示例l玛丽亚基于露西娅的视图 view
16、1 创建了视图 view2,则若皮埃尔想访问 view2,不但要取得玛丽亚对 view2的授权,还需要取得露西娅对 view1 的授权避免破坏所有权链避免破坏所有权链15.3.4 避免破坏避免破坏所所有权链有权链避免破坏所有权链(续)避免破坏所有权链(续)15.3.4 避免破坏避免破坏所所有权链有权链GRANT SELECT ON view2 TO pierreSELECT*FROM maria.view2n相依赖的对象具有不同的拥有者相依赖的对象具有不同的拥有者玛丽亚执行皮埃尔执行maria.view2lucia.view1lucia.table1查找视图定义信息查找视图定义信息n查找视图定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IT SQL 语法大全-sql_15视图 语法 大全 sql_15 视图
限制150内