Teradata - Índice Primário

O índice primário é usado para especificar onde os dados residem no Teradata. É usado para especificar qual AMP obtém a linha de dados. Cada tabela no Teradata deve ter um índice primário definido. Se o índice primário não for definido, o Teradata atribuirá automaticamente o índice primário. O índice primário fornece a maneira mais rápida de acessar os dados. Um primário pode ter no máximo 64 colunas.

O índice primário é definido ao criar uma tabela. Existem 2 tipos de índices primários.

  • Índice primário único (UPI)
  • Índice primário não exclusivo (NUPI)

Índice primário único (UPI)

Se a tabela for definida para ter UPI, a coluna considerada como UPI não deve ter nenhum valor duplicado. Se quaisquer valores duplicados forem inseridos, eles serão rejeitados.

Criar Índice Primário Único

O exemplo a seguir cria a tabela Salary com a coluna EmployeeNo como Índice primário exclusivo.

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

Índice primário não exclusivo (NUPI)

Se a tabela for definida como NUPI, a coluna considerada como UPI pode aceitar valores duplicados.

Criar índice primário não exclusivo

O exemplo a seguir cria a tabela de contas de funcionários com a coluna EmployeeNo como Índice primário não exclusivo. EmployeeNo é definido como Índice primário não exclusivo, pois um funcionário pode ter várias contas na tabela; um para conta salário e outro para conta reembolso.

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);