加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]SQL —— 视图,及与查询语句的区别

(2017-09-13 10:02:11)
标签:

转载

1. 为什么使用视图

    1) 提高数据的安全型,不同权限的用户可以查看数据的不同。

    2) 符合用户日常业务逻辑

 

2. 什么是视图

    视图是一种查看数据库中一个或多个表中的数据的方法。

    视图是一种虚拟表。 通常是作为来自一个或多个表中的行或列的子集创建的,当然他也可以包含全部的行和列。

    视图并不是数据库中存储的数据值的集合,它的行和列来自查询中引用的表。在执行时,他直接显示来自表中的数据。

 

3. 视图的作用

    筛选表中的行

    防止未经许可的用户访问敏感数据

    将多个物理数据表抽象为一个逻辑数据表

 

4. 如何创建视图

   方法一: 使用SSMS,选中数据库, 选择“视图”选项并右击,在弹出的快捷菜单中选择“新建视图项”, 添加药学查询的表, 选择希望查看到的列,保存视图。

   方法二: 使用语句创建,语法:

       create view view_name

              as 

select语句

6.  注意事项

      每个视图中可以使用多个表

      与查询相似,一个视图可以嵌套另一个视图,但最好不要超过3层。

      视图定义中  select 语句不能包括一下内容

            order by 字句,除非在select 语句的选择列中也有一个top字句

            into 关键字

            引用临时表或表变量

 

7. 视图的优缺点

     优点: 简单、 安全、逻辑数据独立

     缺点: 性能,修改限制

           如果视图中存在函数或涉及复杂的多表查询,那么用户在查询视图的过程中会花费一定的时间。

           对于简单的视图可以使用update 语句更新,如果对于复杂的视图可能就不能使用了。删除亦是如此。所以对于视图的用法最好只停留到查询上面。


8.视图与查询的区别:   

视图和查询都是用由sql语句组成,这是他们相同的地方,但是视图和查询有着本质区别,它们的区别在于:

     1:存储上的区别:视图存储为数据库设计的一部分,而查询则不是。

     2:更新限制的要求不一样。要注意:因为视图来自于表,所以通过视图可以间接对表进行更新,我们也可以通过update语句对表进行更新,但是对视图和查询更新限制是不同的,以下我们会知道虽然通过视图可以间接更新表但是有很多限制.

     3:排序结果:通过sql语句,可以对一个表进行排序,而视图则不行。比如:创建一个含有order by子句的视图,看一下可以成功吗?


0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有