zoukankan      html  css  js  c++  java
  • SQL Server创建视图

    什么是视图
         大家都知道,我们国家现在“神七”上天了。从美国的月球登月开始,人类上天不再是神话。听说,在美国,你只要出几十万美元,您就可以上一次月球进行太空旅行,所以,我们相信:在不久的将来,上天旅行将走进我们百姓的生活,那是一件多么新鲜神奇的事情啊。好多美国人上天后,他们用望远镜观看我们的地球,结果看到的地球形状各不相同。有的说象绿色的橘子,有的说象白色的大鸭梨,有的说象蓝色的大西瓜。这是为什么呢?你肯定会说:那是因为从不同的角度(视角),看到的不同形状而已。那么,从不同的视角,将看到不同的“图形”,这就是我们马上讲到的视图。我们的学员信息也是如此:对于学员的信息和成绩,老师比较关心学员成绩以及是否参加考试,包括姓名、学号、笔试、机试、是否通过等。班主任则比较关心学生档案,包括姓名、学号、性别和年龄。
    其实,视图就是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上
    •          视图中并不存放数据,而是存放在视图所引用的原始表(基表)中
    •          同一张原始表,根据不同用户的不同需求,可以创建不同的视图
     
    视图的用途
    –         筛选表中的行
    –         防止未经许可的用户访问敏感数据
    –         降低数据库的复杂程度
    –         将多个物理数据库抽象为一个逻辑数据库
     
    使用视图可以给用户和开发人员带来很多好处。具体为:
    1.对最终用户的好处
    (1)结果更容易理解
    创建视图时,可以将列名改为有意义的名称,使用户更容易理解列所代表的内容。在视图中修改列名不会影响基表的列名。
    (2)获得数据更容易
    很多人对SQL不太了解,因此对他们来说创建对多个表的复杂查询很困难。可以通过创建视图来方便用户访问多个表中的数据。
     
    2.对开发人员的好处
    (1)限制数据检索更容易
    开发人员有时需要隐藏某些行或列中的信息。通过使用视图,用户可以灵活地访问他们需要的数据,同时保证同一个表或其他表中的其他数据的安全性。要实现这一目标,可以在创建视图时将要对用户保密的列排除在外。
    (2)维护应用程序更方便
         调试视图比调试查询更容易。跟踪视图中过程的各个步骤中的错误更为容易,这是因为所有的步骤都是视图的组成部分。
     
    如何创建视图
    •          使用T-SQL语句创建视图的语法
    CREATE VIEW view_name 
       AS
        <select语句>
    IF EXISTS (SELECT * FROM sysobjects WHERE /*检测是否存在*/
                             name = 'view_stuInfo_stuMarks')
         DROP VIEW view_stuInfo_stuMarks /*删除视图*/
    GO
    CREATE VIEW view_stuInfo_stuMarks /*创建视图*/
      AS
        SELECT 姓名=stuName,学号=stuInfo.stuNo,
          笔试成绩 =writtenExam,  机试成绩=labExam,
                平均分=(writtenExam+labExam)/2
                   FROM stuInfo LEFT JOIN stuMarks
                         ON stuInfo.stuNo=stuMarks.stuNo
    GO
    SELECT * FROM view_stuInfo_stuMarks /*使用视图*/
     
    从一个或者多个表或视图中导出的虚拟表,其结构和数据是建立在对表的查询基础上的。
    理论上它可以像普通的物理表一样使用,例如增、删、改、查等,修改视图中的数据实际上是修改
    原始数据表。因为修改视图有许多限制,所以在实际开发中一般视图仅做查询使用。
     
  • 相关阅读:
    Brain network involved in autonomic functions 与自主功能相关的大脑网络
    Brief summary of classical components of ERP 事件相关成分(ERP)经典成分小结
    ICA & Percentage Variance Account For (PVAF)
    数据处理中白化Whitening的作用图解分析
    Loadings vs eigenvectors in PCA 主成分分析(PCA)中的负荷和特征向量
    主成分分析(PCA)和独立成分分析(ICA)相关资料
    Sketch of heart and QRS complex 心脏及QRS波群简图
    Brain Network visulation in EEG 脑电网络可视化
    Phase Locking Value (PLV) 神经信号的锁相值
    ubuntu16.04下的一些基本操作笔记
  • 原文地址:https://www.cnblogs.com/ruishuang208/p/4094021.html
Copyright © 2011-2022 走看看