Teradata 主索引

2018-01-11 15:32 更新

主索引用于指定數(shù)據(jù)駐留在Teradata中的位置。 它用于指定哪個(gè)AMP獲取數(shù)據(jù)行。 Teradata中的每個(gè)表都需要定義主索引。 如果未定義主索引,Teradata會(huì)自動(dòng)分配主索引。 主索引提供了訪(fǎng)問(wèn)數(shù)據(jù)的最快方式。 主要最多可以有64列。

在創(chuàng)建表時(shí)定義主索引。 有兩種類(lèi)型的主索引。

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

唯一主索引(UPI)

如果表被定義為具有UPI,則被認(rèn)為是UPI的列不應(yīng)該具有任何重復(fù)值。 如果插入任何重復(fù)值,它們將被拒絕。

創(chuàng)建唯一主索引

如果表被定義為具有UPI,則被認(rèn)為是UPI的列不應(yīng)該具有任何重復(fù)值。 如果插入任何重復(fù)值,它們將被拒絕。...

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

非唯一主索引(NUPI)

如果表被定義為具有NUPI,則被視為UPI的列可以接受重復(fù)值。

創(chuàng)建非唯一主索引

以下示例創(chuàng)建了將EmployeeNo列作為非唯一主索引的員工帳戶(hù)表。 EmployeeNo被定義為非唯一主索引,因?yàn)閱T工在表中可以有多個(gè)帳戶(hù); 一個(gè)用于薪金帳戶(hù),另一個(gè)用于報(bào)銷(xiāo)帳戶(hù)。

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);
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)