📜  DBMS 中的视图是什么 (1)

📅  最后修改于: 2023-12-03 15:00:22.150000             🧑  作者: Mango

视图是什么?

简介

在 DBMS(数据库管理系统) 中,视图(View)是一种虚拟表,不是实际存储数据的表,而是从一个或多个数据表中导出的表。视图可以看做是一条 SQL 语句所返回的结果集。

作用

视图的主要作用是简化复杂的 SQL 查询,隐藏复杂的查询逻辑,使得查询逻辑更加直观易懂。

另外,视图还有以下使用场景:

  • 保护敏感数据:有些数据只允许有权限的用户访问,可以通过视图来控制这些数据的访问权限。
  • 计算属性:视图可以计算一些常用的聚合函数,如总数、平均数、最大值、最小值等等。
  • 简化表结构:当数据表的结构过于复杂,可以通过视图来简化查询的过程。
创建视图

在大多数的 DBMS 中,创建视图都是通过 SQL 语句来实现的。下面是一个创建视图的例子:

-- 创建一个名为 `employees_v` 的视图
CREATE VIEW employees_v AS
SELECT first_name, last_name, salary
FROM employees
WHERE salary > 50000;
查询视图

查询视图与查询普通数据表的方式一样,只需要在查询时指定视图的名称即可。下面是一个查询视图的例子:

-- 查询 `employees_v` 视图
SELECT *
FROM employees_v;
更新视图

视图的更新操作与普通数据表的方式是一样的,只需要通过 UPDATE、DELETE、INSERT 等 SQL 语句来实现。下面是一个删除视图数据的例子:

DELETE FROM employees_v
WHERE last_name = 'Doe';
注意事项
  • 视图不能像普通表一样存储数据,它只是一个虚拟表。
  • 视图的查询效率可能会比直接查询原始表要慢。
  • 视图的结构列和列名应该尽量和原始表保持一致。