第8章实现视图.pptVIP

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
视图的优点 定制数据 视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有许多不同水平的用户共用同一数据库时,这显得极为重要。 安全 通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上。 逻辑数据独立性 视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。 视图的缺点 ● 性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也把它变成一个复杂的结合体,需要花费一定的时间。 ● 修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。 创建视图注意事项 (1)只能在当前的数据库中创建视图。 (2)视图中最多只能引用1024列。 (3)如果视图引用的表被删除,则当使用该视图时将返回一条错误提示信息,如果创建具有相同结构的新表来代替已经删除的表,则可以继续使用视图,否则必须重新创建视图。 (4)如果视图中的某一列是函数、数学表达式常量或来自多个表的列名相同,则必须为列定义名字。 (5)嵌套深度不能超过32层 (6)不能使用COMPUTE、COMPUTE BY或者INTO (7)不能使用不带有TOP 的 ORDER BY CREATE TABLE [CustomerAddress]( [CustomerID] [int] NOT NULL foreign key references Customer(CustomerID), [AddressID] [int] NOT NULL, [AddressTypeID] [int] NOT NULL, ) CREATE TABLE [Customer]( [CustomerID] [int] primary key NOT NULL, [TerritoryID] [int] NULL, [AccountNumber] int, [CustomerType] [nchar](1) NOT NULL, ) 创建视图 说明: (1)视图名称必须符合标识符规则。可以选择是否指定视图所有者名称。 (2)CREATE VIEW子句中的列名是视图中显示的列名。只有在下列情况下,才必须命名 CREATE VIEW 子句中的列名:当列是从算术表达式、函数或常量派生的,两个或更多的列可能会具有相同的名称(通常是因为联接),视图中的某列被赋予了不同于派生来源列的名称。当然也可以在 SELECT 语句中指派列名。 【注意】 如果未指定列名,则视图列将获得与 SELECT 语句中的列相同的名称。 创建视图 (3)定义视图的语句是一个 SELECT查询语句。该语句可以使用多个表或其它视图。若要从创建视图的 SELECT 子句所引用的对象中选择,必须具有适当的权限。视图不必是具体某个表的行和列的简单子集。可以用具有任意复杂性的 SELECT 子句,使用多个表或其它视图来创建视图。 (4)在索引视图定义中,SELECT 语句必须是单个表的语句或带有可选聚合的多表 JOIN。 (5)在CREATE VIEW语句中,对于SELECT查询语句有如下限制: ? ·创建视图的用户必须对该视图所参照或引用的表或视图具有适当的权限。 ?????·在查询语句中,不能包含ORDER BY (如果要包含的话SELECT子句中要用TOP n [percent] )、COMPUTE或COMPUTE BY关键字。也不能包含INTO关键字。  ·不能在临时表中定义视图(不能引用临时表)。 创建视图 (6)WITH CHECK OPTION:强制视图上执行的所有数据修改语句都必须符合由 SELECT查询语句设置的准则。通过视图修改数据行时,WITH CHECK OPTION 可确保提交修改后,仍可通过视图看到修改的数据。 (7)WITH ENCRYPTION:表示 SQL Server 加密包含 CREATE VIEW 语句文本的系统表列。使用 WITH ENCRYPTION 可防止将视图作为 SQL Server 复制的一部分发布。 (8)SCHEMABINDING:将视图绑

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档