SQL Server 数据库之视图

视图

  • 1. 概述
    • 1.1 视图
    • 1.2 优点与作用
  • 2. 创建和删除视图
    • 2.1 用 SQL 命令创建视图
    • 2.2 用 SSMS 创建视图
    • 2.3 用 SQL 命令删除视图
    • 2.4 用 SSMS 删除意图
  • 3. 修改和更新视图
    • 3.1 用 SQL 命令修改视图
    • 3.2 用 SSMS 修改视图
    • 3.3 用 SQL 命令更新视图
    • 3.4 用 SSMS 进行更新视图

1. 概述

1.1 视图

视图是一种数据库对象,它是从一个或多个表中导出的虚拟表;视图就是一条SELECT语句所对应的结果集,结果集的名字就是视图名;
视图本身不含任何数据,数据库中存储的是它的定义,通过视图看到的数据时存放在数据表中的;
当数据表中的数据更新时,,视图中的数据也会更新;同样,视图中的数据更新时,数据表中的数据也会更新;
注意: 视图也能基于已经存在的视图定义;

1.2 优点与作用

  1. 视图能只提取出用户需要的数据,便于管理和使用;当某些查询的条件比较复杂时,视图能将表与表之间的连接条件等对用户隐藏起来,使用户只需查询一个视图,就能够获取到想要查找的信息;
  2. 视图提供了对数据的安全保护机制;设计数据库应用系统时,视图能为不同的用户定制不同的视图,使重要数据只出现在特定的视图中;
  3. 视图为数据提供了一定干的逻辑独立性;视图对应了三级模式中的外模式,当数据库的逻辑结构发生变化时,只需修改视图的定义,就能保证用户的外模式不变,对应的应用程序也就不能修改了;

2. 创建和删除视图

2.1 用 SQL 命令创建视图

创建视图的 SQL 命令为 CRERTE VIEW,语法格式如下:

CREATE VIEW <视图名> [(列名)]
[WITH [ENCRYPTION][,SCHEMABINDING][,VIEW_METADATA]]
AS <SELECT 语句>
[WITH CHECK OPTION]

说明:

  1. <视图名>指视图的名称,命名规则与数据表名相同;
  2. (列名)可以全部省略或全部指定;以下情况须指定列名:视图中的某些列需要另外设置别名;SELECT语句中含有同名列;SELECT语句中含有算术表达式、函数等调用的列;
  3. ENCRYPTION表示视图加密,设置此选项后,将无法修改视图;
  4. SCHEMABINDING表示视图与引用表的定义绑定,设置此选项后,引用表将不能随意更改表结构,如列的数据类型等,若必须修改,则需要先删除与之绑定的视图;
  5. AS关键字用于指定视图要执行的操作;