您的位置:首页 > 数据库

SQL server 2005学习笔记(视图)

2010-04-27 15:29 197 查看
一.视图(VIEW)
定义:视图是一张虚拟的表,其内容是从一张或多张表中查询得来的结果集。
描述:视图是存储在系统目录中的信息,她并没有真正存储数据,而是已存表的投影。视图的属性是按照一个查询的规定从一个或者多个表中导出的,是已存表的过滤器。她是一张“虚表”,从一张表或者多张表中派生出来的,其来源称为“基表”,也可以说视图是一张“派生表”。
作用:用户更具自己需要,建立视图。这样就过滤掉了那些不常用或者用户不需要的数据,让用户的操作更加迅速。其优点:
1.降低数据库的复杂性。
2.集中用户数据。
3.简单管理。
4.组织数据转移到其他应用程序。
5.数据保密。
二.视图建立
CREATE  VIEW <视图名> [(<列名>[,<列名>]......)]
AS  <子查询>
[WITH  CHECK  OPTION]
子查询可以是任意复杂的SELECT语句,但是子查询中不能包括ORDER  BY和DISTINCT语句。
WITH  CHECK  OPTION 表示对视图进行UPTATA,INSERT和DELETE操作时要保证更新、插入和删除的行满足视图定义中的为此条件(即子查询中的表达式)。
三.视图管理
1.重命名视图
实现方式有两种:
    (1)通过 sp_name
     格式:sp_name <原视图名>,<新视图名>
注意:此操作必须在当前数据库中,只有数据库拥有者和管理者才能对视图更名。
(2)通过管理器进行更名。

2.视图修改
格式:
      ALTER VIEW <视图名>
      AS 
         SELECT 查询语句
         [WITH  CHECK  OPTION]

    3.删除视图
     格式:
          
DROP  VIEW  <视图名>
注意:在删除视图后,从这个视图派生出来的视图自动删除,但删除某个表后,基于这个表创建的视图不能自动删除。

四.视图应用
视图应用的约束,下列情况下不能对视图进行操作:
1.视图属性来自聚集函数或者包含表达式、常量。
2.视图定义语句中包含GROUP  BY、GROUP 和DIXTINCT关键字。
3.视图的FROM字句涉及两个或多个表,而且视图属性列包含多个表的属性。

    视图应用有,插入数据,删除数据,修改数据,查找数据,连起来就叫“增、删、该、查”,我把它们称为“珍、珠、奶、茶”。
1.插入数据
 格式:INXERT  INTO  <视图名>  VALUES( )
2.删除数据
     格式:DELETE  FROM  <视图名>  WHERE过滤器
3.修改数据
 格式:UPDATA  <视图名>  SET条件  WHERE过滤器
4.查询数据
     格式:SELECT 视图属性  FROM  <视图名>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息