SQL SERVER中的视图


 视图是一个数据表或者多个数据表导图来的表,只是一张虚拟的表


  视图的作用


  1. 提高数据访问的安全性

    在实际应用中,如果不希望开发人员对表中所有的记录都可以查询的到,这个时候可以创建个视图,把重要的信息隐藏起来,让开发人员查询数据时查询不到。

  2. 方便查询操作

    数据表中的数据经常会用到,为例避免SELECT语句的重复查询这些信息,这些时候可以创建视图,把经常用到的数据放到这个视图中,这样在使用和查询这些数据时,就可以通过视图直接查询,而不必再写复杂的select语句了。

     

     

    基于单表创建视图

      这个视图只是将一个数据表中经常用到的数据提取出来。

    语法格式:

    CREATE VIEWview_name(column_name1…)

    As subquery

    如为学生信息表创建视图

    基于多表连接创建视图

    是指将多个数据表中经常用到的数据列使用where子句连接起来组成的视图。

    create view v_student 
    as 
    select stuname,sex,age from T_student 

    (这是基于学生信息表和系别表进行的连接后创建的视图)

     

     

    基于函数、分组数据创建视图

    是指在子查询语句中包含有函数。表达式等,主要是为了简化查询语句,提高查询效率

    create view v_teacher_salary
    select dept,profession,max(salary) as maxsalary
    from t_teacher
    group by dept,profession
    having max(salary)>3000

    (为教师信息表创建视图,要求对院校和教师职称进行分组并且所有教师的工资要大于3000

     

    CHECK约束

    与查询语句类似,当为视图添加约束(WITH CHECK OPTION),当再次执行插入、删除和修改等更新语句时,要符合查询的条件。

    create view v_student 
    as
    select r.stuname,r.sex,c.deptname from T_student r ,t_dept c where deptid='1109024102'
    with check option

    (因为在视图中已经定义了CHECK约束条件,所以如果要对视图进行其他操作的时候,其depid必须指定为11090241032

     

    只读视图

    与上面类似,如果创建只读视图的话,只需要在结尾加上关键字WITH READ ONLY

     




SQL SERVER中的视图,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。