第六章(2)视图.ppt_第1页
已阅读1页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在本章,你将学到: 创建和管理视图 实现全文搜索 实现批处理,目标,视图是: 用于查看表中的数据 与创建表类似,但它不包含任何数据,因为它从基表中派生数据 通过使用CREATE VIEW 语句创建,创建视图,创建视图的目的: 1 为用户简化复杂查询(当基于多表查询和保存查询) 2 限制用户直接浏览来自表中的数据 (表的特定行,特定列,特定的行和列,使用连接取回的行,在给定表中的数据的统计小计,另一个视图的子集或视图和表的子集),创建视图,语法: CREATE VIEW view_name (column_name , column_name.) WITH ENCRYPTION , SCHEMA

2、BINDING AS select_statement WITH CHECK OPTION 让我们看看如何,创建视图,视图不能在自身存储数据,他们从基表中获得数据。视图仅是存储为对象的查询。 当创建视图的时候,遵守命名约定是一个很好的实践。视图的名称前缀使用vw,创建视图,1 视图名应符合标识符规则 2 视图所基于的表应该有select授权 3 视图不能从临时表中产生数据 4 在视图中,order by不能在select语句中,创建视图,思考: 对视图中数据的修改,改变的是视图中的数据, 还是基表中的数据?,通过视图修改数据,通过更新视图更新所有的基表,是否可行?,通过视图修改数据,updat

3、e vwsal set managerid=2, rate=12.35 where employeeid=1,视图的索引: 当内含表的数据容量很大并且不常被更新的时候索引视图 有助于提高查询的性能 在你在视图上定义了一个唯一簇索引之后,你可以创建额外的非簇索引 通过使用CREATE INDEX 语句在视图上创建索引 让我们看看如何,索引视图,在视图上创建一个索引 create unique clustered index idx_vwc_s on dbo.vwc_s(cname, spname),索引视图,课间思考,在下面哪个条件下你将不能创建一个索引视图? 当数据很大的时候 当数据经常被更新

4、的时候 当你需要提高视图的性能的时候,答案: 2.当数据经常被更新的时候,视图的管理包括修改、删除或重命名视图。 修改视图包括修改它而不删除它。 语法: ALTER VIEW view_name (column_name) WITH ENCRYPTION AS select_statement WITH CHECK OPTION 删除视图包括当它不再需要的时候删除它。 语法: DROP VIEW view_name,管理视图,重命名视图的名称而不删除它。 语法: sp_rename old_viewname, new_viewname 让我们看看如何,管理视图(续),问题描述: 你是Adven

5、ureWorks, Inc的一个数据库开发人员。你需要产生一个包含如下员工详情的报表: Employee ID Employee First Name Employee Last Name Title Manager First Name Manager Last Name,演示:创建视图,问题描述(续): 为了抽取这个数据,你需要在数据库上执行下面的语句: SELECT e1.EmployeeID, c1.FirstName, c1.LastName, e1.Title, c2.FirstName AS Manager First Name,c2.LastName AS Manager La

6、st Name FROM HumanResources.Employee e1 INNER JOIN Person.Contact c1 ON e1.ContactID = c1.ContactID INNER JOIN HumanResources.Employee AS e2 ON e1.ManagerID = e2.EmployeeID INNER JOIN Person.Contact AS c2 ON e2.ContactID = c2.ContactID,演示:创建视图(续),问题描述(续): 作为数据库开发人员,你需要简化这个查询的执行以便你不需要每次需要报告的时候将这样大的一个

7、查询发送到数据库引擎。,演示:创建视图(续),解决方案: 为了解决上述问题,你需要完成下面的任务: 1.创建视图。 2.验证查询执行的简化。,演示:创建视图(续),全文搜索: 允许你在数据上完成完全的搜索 允许你搜索特定词的同义词或反义词 全文搜索默认是禁止的 为了使用全文搜索抽取需要的详情,你需要完成下面的任务: 1.在数据库中使能全文搜索。 2.创建一个全文目录。 3.创建一个唯一索引。 4.创建一个全文索引。 5.放置全文索引。 让我们看看如何,配置全文搜索,当进行全文搜索的时候,可以使用下面的谓词: FREETEXT:搜索在搜索列中给出的任何词或词组的变体。 CONTAINS: 搜索特

8、定短语、文本中类似的单词或精确匹配。让我们看看如何,使用全文搜索搜索数据,课间思考,列出全文索引关联方法的类型。,答案: 全文索引关联方法的三种类型是: 1.完全关联 2.改变基于跟踪的关联 3.基于时间戳的增量关联,课间思考,哪个谓词被用于搜索特定词汇或准确匹配。,答案: CONTAINS,问题描述: AdventureWorks, Inc的用户需要经常基于位置搜索员工,客户或供应商。所有这些实体的位置详情被存储在Person模式的Address表中。用户想使用搜索规则中指定的不同词的组合来搜索地址。例如他们需要搜索包含在AddressLine1列中的Santa 和 drive词。类似,他们

9、可能需要在AddressLine1列搜索包含Santa 和 Street词的位置。 你如何使用户完成这样的数据搜索?,演示:实现全文搜索,解决方案: 为了解决上述问题,你需要完成下面的任务: 1.在AdventureWorks数据库上使能全文搜索。 2.创建一个默认的全文目录。 3.创建一个全文索引。 4.使用CONTAINS谓词搜索数据。,演示:实现全文搜索 (续),在本章中,你已经学到: 视图是虚拟表,它从一个或多个称为基表或内含表的表中产生数据。 视图作为安全机制,而保护基表中的数据。 当使用视图的时候,SQL Server仅允许在一个内含表中修改数据,甚至视图是由多个内含表产生的。 SQL Server使用户能够通过全文查询特性在SQL表中搜索很广的文本范围。 你可以通过使用sp_fulltext_database enable命令使能全文搜索。 全文目录可以使用CREATE FULLTEXT CATALOG语句创建。,小结,全文索引可以使用CREATE FUL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论