数据库之视图

一、概述

       在SQL中,视图是从若干基本表和其他视图构造出来的虚拟表。同真实的表一样,视图包含一系列带有名称的列和行数据。但是视图并不在数据库中以存储的数据集形式存在。当我们创建一个视图时,只是把其视图的定义存放在数据字典中,在用户使用时才去求对应的数据。

二、视图的作用

      1、简单性。看到的就是需要的。视图不后的操作每次指定全部的条件仅可以简化用户对数据的理解,也可以简化他们的操作。哪些被经常使用的查询可以被定义为视图,从        而使得用户不必为以后的操作每次指定全部的条件。

      2、安全性。通过视图用户只能查询和修改他们所能见到的数据。但不能授权到数据库特定行和特定列上。通过视图,用户可以被限制在数据的不同子集上;

      3、逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。

三、视图的语法

     1、创建视图:CREATE VIEW <视图名>(<列表序列>)AS <SELECT查询语句>

     例:对于教学数据库系统中基本表S、SC、C,用户经常用到S#、SNAME、CNAME和SCORE等列的数据,那么可用下列语句建视图:

     CREATE VIEW STUDENT_SCORE (S#,SNAME,CNAME,SCORE) AS SELECTS.S#,SNAME,CNAME,SCORE  FROM  S,SC,C WHERE S.S#=SC.S# AND SC.C3=C.C#

     2、视图的撤销:DROP VIEW <视图名>

     例:DROP VIEWSTUDENT_SCORE

    3、视图的更新:允许用户更新的视图在定义时必须加上“WITH CHECK OPTION”

    例:CREATE VIEWS_MALE  AS  SELECT S#,SNAME,AGE  FROM S  WHERE SEX=’M’  WITH CHECK OPTION

    加入“WITH CHECK OPTION”短语,就可以允许用户对视图进行插入、删除和修改的操作。

四、总结

       通过上面对视图作用的介绍,不难发现好好的利用视图会给我们带来意想不到的方便,但是我们也不可以乱用,因为sql server必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,sql server也要把它变成一个复杂的结合体,需要花费一定的时间。 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值