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