- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TSQL查询进阶深入浅出视图
T-SQL查询进阶--深入浅出视图 简介?? ?? 视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口.常规视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata. ??? 视图简单的理解如下: ??? ??? 通过视图,客户端不再需要知道底层table的表结构及其之间的关系。视图提供了一个统一访问数据的接口。 ? 为什么要使用视图(View) ?? 从而我们不难发现,使用视图将会得到如下好处: ? ?? 视图隐藏了底层的表结构,简化了数据访问操作 ?? 因为隐藏了底层的表结构,所以大大加强了安全性,用户只能看到视图提供的数据 ?? 使用视图,方便了权限管理,让用户对视图有权限而不是对底层表有权限进一步加强了安全性 ?? 视图提供了一个用户访问的接口,当底层表改变后,改变视图的语句来进行适应,使已经建立在这个视图上客户端程序不受影响 ? 视图(View)的分类 ??? 视图在SQL中可以分为三类 ???? 普通视图(Regular View) ???? 索引视图(Indexed View) ???? 分割视图(Partitioned View) ??? 下面从这几种视图类型来谈视图 ? 普通视图(Rugular View) ?? 普通视图由一个Select语句所定义,视图仅仅包含其定义和被引用表的metadata.并不实际存储数据。MSDN中创建视图的模版如下: CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] [ WITH view_attribute [ ,...n ] ] AS select_statement [ WITH CHECK OPTION ] [ ; ] view_attribute ::= { [ ENCRYPTION ] [ SCHEMABINDING ] [ VIEW_METADATA ] } ?? 参数还是比较少的,现在解释一下上面的参数: ?? ENCRYPTION:视图是加密的,如果选上这个选项,则无法修改.创建视图的时候需要将脚本保存,否则再也不能修改了 ?? SCHEMABINDING:和底层引用到的表进行定义绑定。这个选项选上的话,则视图所引用到的表不能随便更改构架(比如列的数据类型),如果需要更改底层表构架,则先drop或者alter在底层表之上绑定的视图. ?? VIEW_METADATA:这个是个很有意思的选项.正如这个选项的名称所指示,如果不选择,返回给客户端的metadata是View所引用表的metadata,如果选择了这个选项,则返回View的metadata.再通俗点解释,VIEW_METADATA可以让视图看起来貌似表一样。View的每一个列的定义等直接告诉客户端,而不是所引用底层表列的定义。 ?? WITH Check Option:这个选项用于更新数据做限制,下面会在通过视图更新数据一节解释. ? ?? 当然了,创建视图除了需要符合上面的语法规则之外,还有一些规则需要遵守: ?? 在View中,除非有TOP关键字,否则不能用Order By子句(如果你一意孤行要用Order by,这里有个hack是使用Top 100 percent…..) ?? View在每个Schema中命名必须独一无二 ?? View嵌套不能超过32层(其实实际工作中谁嵌套超过两层就要被打PP了-.-) ?? Compute,compute by,INTO关键字不允许出现在View中 ?? View不能建立在临时表上 ?? View不能对全文索引进行查询 ? ?? 建立View一个简单的例子: CREATE VIEW v_Test_View1 AS SELECT TOP 100 * FROM HumanResources.Employee ? ?? 视图建立完成后,就可以像访问表一样访问视图了: SELECT * FROM v_Test_View1 ? 在Management studio中,我创建视图的时候更喜欢用这样一种方法,将会便捷很多: ?? ? 索引视图(Indexed View) ??? 在谈到索引视图之前,我突然想起以前看过的一个漫画.话说咱们高端产品买不起,但是省吃俭用攒点钱买个IPhone装装高端总还是可以的吧: ? ????? ? ??? 其实索引视图也很类似,在普通的视图的基础上,为视图建立唯一聚集索引,这时这个视图就变成了索引视图.套用上面漫画的公式:视图+聚集索引=索引视图 ?? 索引视图可以看作是一个和表(Table)等效的对象! ???
您可能关注的文档
最近下载
- SCADA(电力监控)系统介绍.pptx VIP
- 2025年机关事业单位工人汽车驾驶员高级、技师国家题库练习题(附答案).docx VIP
- 班级生活有规则教学设计.doc VIP
- CMF中国宏观经济分析与预测报告(2025年中期) 稳舵远航的中国宏观经济.docx
- QGDW 11399-2015 架空输电线路无人机巡检作业安全工作规程.docx VIP
- 中国药物性肝损伤诊治指南2023版解读.pptx VIP
- 施工测量专项施方案.doc VIP
- 2024年春季四川凉山州普格县一村一幼辅导员招聘74人笔试备考题库及答案解析.docx VIP
- 防爆电气安装规范及验收标准制定.docx VIP
- 市政集团笔试题库及答案.pdf
文档评论(0)