Teradata 简明教程

Teradata - Primary Index

主键索引用于指定数据在 Teradata 中所在的位置。它用于指定哪个 AMP 获取数据行。Teradata 中的每个表格都需要定义一个主键索引。如果未定义主键索引,则 Teradata 会自动分配主键索引。主键索引提供了访问数据的最快速方式。主键最多可以有 64 列。

主键索引在创建表格时定义。主键索引有 2 种类型。

  1. Unique Primary Index(UPI)

  2. Non Unique Primary Index(NUPI)

Unique Primary Index (UPI)

如果将表格定义为具有 UPI,则被视为 UPI 的列不应具有任何重复值。如果插入任何重复值,它们将被拒绝。

Create Unique Primary Index

以下示例创建 Salary 表格,其列 EmployeeNo 为唯一主键索引。

CREATE SET TABLE Salary (
   EmployeeNo INTEGER,
   Gross INTEGER,
   Deduction INTEGER,
   NetPay INTEGER
)
UNIQUE PRIMARY INDEX(EmployeeNo);

Non Unique Primary Index (NUPI)

如果将表格定义为具有 NUPI,则被视为 UPI 的列可以接受重复值。

Create Non Unique Primary Index

以下示例创建员工帐户表格,其列 EmployeeNo 为非唯一主键索引。EmployeeNo 定义为非唯一主键索引,因为一名员工可以在表格中拥有多个帐户:一个用于薪资帐户,另一个用于报销帐户。

CREATE SET TABLE Employee _Accounts (
   EmployeeNo INTEGER,
   employee_bank_account_type BYTEINT.
   employee_bank_account_number INTEGER,
   employee_bank_name VARCHAR(30),
   employee_bank_city VARCHAR(30)
)
PRIMARY INDEX(EmployeeNo);