Teradata 视图

2025年3月17日 | 阅读 3 分钟

视图是由查询构建的数据库对象。视图可以通过单个表或通过连接多个表来创建。

它们的定义永久存储在数据字典中,但它们不保存副本。视图的数据是动态构建的。

视图可能包含表的行的子集或列的子集。

创建视图

视图是使用一种特殊的 数据定义语言 (DDL) 形式创建的。CREATE 请求一个新的 VIEW,提供视图的名称和 SELECT。建议视图的名称以“v_”开头或以“_v”结尾,以将其标识为视图名称。

这样,人们可以清楚地看到这是一个视图而不是一个表。视图的名称必须与数据库中其他对象的名称不同。CREATE VIEW 验证该名称是否已存在,如果存在则返回错误。

语法

以下是创建视图的语法。

  1. view_name:新视图的名称。如果 view_name 未完全限定,则使用默认数据库。
  2. database_name:它分为两个部分
    • user_name:包含 view_name 的数据库或用户的名称(如果不是当前数据库或用户)。
    • column_name:视图列的名称。如果指定了多个列,请按每列要显示在视图中的顺序列出它们的名称。
  3. AS:视图定义的介绍。

注意

  • 引用行级安全表的视图可以包含基于行级安全约束的列,但这不是必需的。但是,无论是否包含在视图定义中,视图都会强制执行基本表中的任何安全约束。
  • 视图可以引用行级安全表和非行级安全表,但所有引用的行级安全表必须包含相同的安全约束列,否则访问视图的后续请求将失败并出现错误。

示例

考虑以下员工表。

员工 ID名字姓氏部门编号出生日期
202001迈克Richard14/8/1988
202002Robert威廉姆斯28/5/1991
202003彼得科林25/9/1990
202004Alexa斯图尔特115/11/1989
202005Robert彼得森122/2/1990

以下示例在 Employee 表上创建一个视图。

使用视图

我们可以使用常规的 SELECT 语句从视图中检索数据。

示例

以下示例从 Employee_View 中检索记录;

修改视图

可以使用 REPLACE VIEW 语句修改当前视图。

REPLACE VIEW 重新定义现有视图,或者如果指定的视图不存在,则使用指定的名称创建一个新视图。

语法

以下是修改视图的语法。

示例

以下示例修改视图 Employee_View 以添加其他列。

删除视图

可以使用 DROP VIEW 语句删除当前视图。

语法

以下是 DROP VIEW 的语法。

示例

以下是删除视图 Employee_View 的示例。

视图的优点

以下是使用 Teradata 中的视图的一些优点,例如

  • 视图通过限制表的行或列来提供额外的安全级别。
  • 用户只能访问视图而不是基本表。
  • 通过预先连接这些视图来简化多个表的使用。
  • 从表中获取所需的行和列。
  • 该视图用于减少网络带宽。
  • 它提供了表和视图数据之间更好的绑定。

下一主题Teradata 宏