1. 什么是视图
  2.  
  3. 大家都知道,我们国家现在“神七”上天了。从美国的月球登月开始,人类上天不再是神话。听说,在美国,你只要出几十万美元,您就可以上一次月球进行太空旅行,所以,我们相信:在不久的将来,上天旅行将走进我们百姓的生活,那是一件多么新鲜神奇的事情啊。好多美国人上天后,他们用望远镜观看我们的地球,结果看到的地球形状各不相同。有的说象绿色的橘子,有的说象白色的大鸭梨,有的说象蓝色的大西瓜。这是为什么呢?你肯定会说:那是因为从不同的角度(视角),看到的不同形状而已。那么,从不同的视角,将看到不同的“图形”,这就是我们马上讲到的视图。我们的学员信息也是如此:对于学员的信息和成绩,老师比较关心学员成绩以及是否参加考试,包括姓名、学号、笔试、机试、是否通过等。班主任则比较关心学生档案,包括姓名、学号、性别和年龄。
  4.  
  5. 其实,视图就是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上
  6.  
  7. 视图中并不存放数据,而是存放在视图所引用的原始表(基表)中
  8.  
  9. 同一张原始表,根据不同用户的不同需求,可以创建不同的视图
  10.  
  11. 视图的用途
  12.  
  13. 筛选表中的行
  14.  
  15. 防止未经许可的用户访问敏感数据
  16.  
  17. 降低数据库的复杂程度
  18.  
  19. 将多个物理数据库抽象为一个逻辑数据库
  20.  
  21. 使用视图可以给用户和开发人员带来很多好处。具体为:
  22.  
  23. 1.对最终用户的好处
  24.  
  25. 1)结果更容易理解
  26.  
  27. 创建视图时,可以将列名改为有意义的名称,使用户更容易理解列所代表的内容。在视图中修改列名不会影响基表的列名。
  28.  
  29. 2)获得数据更容易
  30.  
  31. 很多人对SQL不太了解,因此对他们来说创建对多个表的复杂查询很困难。可以通过创建视图来方便用户访问多个表中的数据。
  32.  
  33. 2.对开发人员的好处
  34.  
  35. 1)限制数据检索更容易
  36.  
  37. 开发人员有时需要隐藏某些行或列中的信息。通过使用视图,用户可以灵活地访问他们需要的数据,同时保证同一个表或其他表中的其他数据的安全性。要实现这一目标,可以在创建视图时将要对用户保密的列排除在外。
  38.  
  39. 2)维护应用程序更方便
  40.  
  41. 调试视图比调试查询更容易。跟踪视图中过程的各个步骤中的错误更为容易,这是因为所有的步骤都是视图的组成部分。
  42.  
  43. 如何创建视图
  44.  
  45. 使用T-SQL语句创建视图的语法
  46.  
  47. CREATE VIEW view_name
  48.  
  49. AS
  50.  
  51. <select语句>
  52.  
  53. IF EXISTS (SELECT * FROM sysobjects WHERE /*检测是否存在*/
  54.  
  55. name = 'view_stuInfo_stuMarks')
  56.  
  57. DROP VIEW view_stuInfo_stuMarks /*删除视图*/
  58.  
  59. GO
  60.  
  61. CREATE VIEW view_stuInfo_stuMarks /*创建视图*/
  62.  
  63. AS
  64.  
  65. SELECT 姓名=stuName,学号=stuInfo.stuNo,
  66.  
  67. 笔试成绩 =writtenExam, 机试成绩=labExam,
  68.  
  69. 平均分=(writtenExam+labExam)/2
  70.  
  71. FROM stuInfo LEFT JOIN stuMarks
  72.  
  73. ON stuInfo.stuNo=stuMarks.stuNo
  74.  
  75. GO
  76.  
  77. SELECT * FROM view_stuInfo_stuMarks /*使用视图*/
  78.  
  79. 从一个或者多个表或视图中导出的虚拟表,其结构和数据是建立在对表的查询基础上的。
  80.  
  81. 理论上它可以像普通的物理表一样使用,例如增、删、改、查等,修改视图中的数据实际上是修改
  82.  
  83. 原始数据表。因为修改视图有许多限制,所以在实际开发中一般视图仅做查询使用。

sql视图的更多相关文章

  1. SQL视图&触发器

    SQL视图 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段.我们可以向视图添加 SQL 函数 ...

  2. 关于SQL视图的创建和使用方法

    SQL视图的创建和使用 视图这个东西在其他的软件中,我们也经常看得到,例如word中就有视图,我们不难发现,视图似乎是一种显示方式,就像WORD一样,有几种显示版面,这就是视图,那么SQL中的视图又该 ...

  3. ylb:SQL 视图(View)基础

    ylbtech-SQL Server: SQL Server-SQL 视图(View)基础 SQL 视图(View)基础. 1,ylb:视图(View)基础返回顶部 -- ============== ...

  4. SQL 视图(Views)

    SQL 视图(Views) 视图是可视化的表. 本章讲解如何创建.更新和删除视图. SQL CREATE VIEW 语句 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列 ...

  5. GeoServer 查询sql视图

    说明: 最近项目中遇到一个需求,需要统计管网的长度,但管网数据量非常大,前端用openlayers接口统计直接就奔溃了. 后尝试使用调后台接口查数据库的方式,虽然可行但是又要多一层与后台交互的工作. ...

  6. sql 视图的用法

    在一个项目的实际开发过程中牵涉到复杂业务的时候,我们不可避免的需要使用中间表来进行数据连接,有的同学就说了,我可以采用Hibernate进行主外键进行关联啊?多对多,多对一,一对一,等,采用主外键关联 ...

  7. 多语言架构下如何正确的使用SQL视图

    产品的定位 做产品的都知道,是否支持多语言直接影响到产品的定位问题. 如果一个产品周期是一年的话,要完美支持多语言最少也得在加3个月!所需时间和页面数量.数据库表的数量和表的数据量成正比. 可以看出代 ...

  8. sql视图实例

    一个视图是一个或一组SQL语句,存储在数据库中相关的名称.一个视图实际上是一个预定义的SQL查询中的表的形式组成. 一个视图可以包含一个表的所有行,或选择表中的行.从一个或多个表上写SQL查询创建一个 ...

  9. 简单的3个SQL视图搞定所有SqlServer数据库字典

    网上有很多SQL SERVER数据库字典的SQL语句,七零八落,我在工作整理了一下思路,总结SQL代码如下.数据库字典包括表结构(分2K和2005).索引和主键.外键.约束.视图.函数.存储过程.触发 ...

  10. sql视图学习笔记--视图

    视图是为用户对数据多种显示需求而创建的,其主要用在一下几种情况: (1)限制用户只能访问特定表特定条件的内容,提高系统的安全性. (2)隐藏表结构.创建多种形式的数透视,满足不同用户需求. (3)将复 ...

随机推荐

  1. c/s架构

    C/S 结构,即大家熟知的客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销.目前大多数应用软件 ...

  2. CentOS的KVM实践(虚拟机创建、网桥配置、Spice)

    最近公司准备上一套基于openstack的虚拟桌面系统,作为该项目的负责人,觉得有必要自己实践一下,该系统的搭建.最基础的就是需要了解基于linux的kvm的实践. 一.基础软件包准备 系统是采用px ...

  3. POJ 3548 Restoring the digits

    暴力搜索.注意题目说每个字母对应的数字不同,这句话表明最多只有10个字母,所以暴力DFS绝对不会TLE. #include<cstdio> #include<cstring> ...

  4. NEU OJ 1644 Median I

    优先级队列 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...

  5. Primes on Interval

    AC代码: #include <cstdio> #include <cstring> #include <iostream> #include <algori ...

  6. R语言笔记2--循环、R脚本

    1.循环语句 for语句 while语句 2.R脚本 source()函数 print()函数

  7. 远程连接(ssh安装)

    更新源列表打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"--& ...

  8. process lasso 优化原理

    <星际争霸2:虚空之遗>很多玩家的CPU性能并不低,但是在星际2中的表现就总会出现掉帧的情况,那么应该如何提升CPU的性能就成了玩家关注的话题,下面小编就为大家带来星际争霸2虚空之遗cpu ...

  9. VS2005--设置Release模式下调试

    今天初略看了下,所谓Release和Debug只是大家和编译器约定的一些生成规则而已,所以调试是无所谓Release和Debug的,只是由于生成的规则不同,可能Release的一些调试结果没Debug ...

  10. ComboBox绑定Dictionary做为数据源

    http://www.cnblogs.com/refresh/archive/2012/07/14/2591503.html https://msdn.microsoft.com/zh-cn/libr ...