Teradata - 主索引



主索引用於指定資料在 Teradata 中的儲存位置。它用於指定哪個 AMP 獲取資料行。Teradata 中的每個表都需要定義一個主索引。如果未定義主索引,Teradata 會自動分配主索引。主索引提供訪問資料的最快方式。主索引最多可以有 64 列。

建立表時定義主索引。主索引有兩種型別。

  • 唯一主索引 (UPI)
  • 非唯一主索引 (NUPI)

唯一主索引 (UPI)

如果將表定義為具有 UPI,則被視為 UPI 的列不應具有任何重複值。如果插入任何重複值,則會將其拒絕。

建立唯一主索引

以下示例建立 Salary 表,其中 EmployeeNo 列作為唯一主索引。

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

非唯一主索引 (NUPI)

如果將表定義為具有 NUPI,則被視為 UPI 的列可以接受重複值。

建立非唯一主索引

以下示例建立 employee accounts 表,其中 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);
廣告

© . All rights reserved.