度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 930|回复: 3
打印 上一主题 下一主题

[分享] 数据库中的视图

[复制链接]

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
跳转到指定楼层
楼主
发表于 2020-6-11 17:20:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
什么是视图:
  视图(view):从一个或几个基本表中根据用户需要而做成一个虚表
  1:视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据
  2:视图只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展现给用户
  视图与查询的区别:
  视图和查询都是用由sql语句组成,这是他们相同的地方,但是视图和查询有着本质区别:
  它们的区别在于:
  1:存储上的区别:视图存储为数据库设计的一部分,而查询则不是.
  2:更新限制的要求不一样
  要注意:因为视图来自于表,所以通过视图可以间接对表进行更新,我们也可以通过update语句对表进行更新,但是对视图和查询更新限制是不同的,以下我们会知道虽然通过视图可以间接更新表但是有很多限制.
  3:排序结果:通过sql语句,可以对一个表进行排序,而视图则不行。比如:创建一个含有order by子句的视图,看一下可以成功吗?
  视图的优点:
  为什么有了表还要引入视图呢?这是因为视图具有以下几个优点:
  1:能分割数据,简化观点。可以通过select和where来定义视图,从而可以分割数据基表中某些对于用户不关心的数据,使用户把注意力集中到所关心的数据列.进一步简化浏览数据工作
  2:为数据提供一定的逻辑独立性。 如果为某一个基表定义一个视图,即使以后基本表的内容的发生改变了也不会影响“视图定义”所得到的数据
  3:提供自动的安全保护功能。 视图能像基本表一样授予或撤消访问许可权
  4:视图可以间接对表进行更新,因此视图的更新就是表的更新
      视图的安全性
       视图的安全性可以防止未授权用户查看特定的行或列,是用户只能看到表中特定行的方法如下:
       1 在表中增加一个标志用户名的列;
       2 建立视图,是用户只能看到标有自己用户名的行;
       3 把视图授权给其他用户。
      逻辑数据独立性
       视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。视图可以在以下几个方面使程序与数据独立:
       1 如果应用建立在数据库表上,当数据库表发生变化时,可以在表上建立视图,通过视图屏蔽表的变化,从而应用程序可以不动。
       2 如果应用建立在数据库表上,当应用发生变化时,可以在表上建立视图,通过视图屏蔽应用的变化,从而使数据库表不动。
       3 如果应用建立在视图上,当数据库表发生变化时,可以在表上修改视图,通过视图屏蔽表的变化,从而应用程序可以不动。
       4 如果应用建立在视图上,当应用发生变化时,可以在表上修改视图,通过视图屏蔽应用的变化,从而数据库可以不动。
  视图的创建和管理
  视图的创建
  1:通过sql语句
  格式:create view 视图名 as select 语句
   试一试:分别创建关于一个表或多个表的视图[因为视图可以来自于多表]
  2:通过企业管理器  
   说明:
  1:在完成视图的创立之后,就可以像使用基本表一样来使用视图
  2:在创建视图时,并非所有的select子查询都可用,如:compute和compute by,order by[除非与top一起连用]
  3:但在查询时,依然都可以用在创建时禁用的select子查询
  4:在视图创建时,必须为没有标题列指定标题[思考:能否不用select语句来创建一个视图]
  
  视图的删除:
  1:通过sql语句:drop view 视图名
  2:通过企业管理器
  说明:与删除表不同的是,删除视图后只是删除了视图了定义,并没有删除表中的数据.[查看相关性]
  
  修改视图的定义
  1:通过企业管理器
  2:通过sql语句:
  格式:alter view 视图名 as 新的select语句
  浏览视图信息 sp_helptext 视图名 [查看视图创建的语句]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
沙发
 楼主| 发表于 2020-6-11 17:25:45 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
板凳
发表于 2020-6-13 14:10:44 | 只看该作者
回复

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
地板
 楼主| 发表于 2020-6-13 18:35:33 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-24 16:02 , Processed in 0.132439 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表