Teradata - Índice primario

El índice principal se utiliza para especificar dónde residen los datos en Teradata. Se utiliza para especificar qué AMP obtiene la fila de datos. Cada tabla en Teradata debe tener definido un índice principal. Si el índice principal no está definido, Teradata asigna automáticamente el índice principal. El índice primario proporciona la forma más rápida de acceder a los datos. Un primario puede tener un máximo de 64 columnas.

El índice principal se define al crear una tabla. Hay 2 tipos de índices primarios.

  • Índice primario único (UPI)
  • Índice primario no único (NUPI)

Índice primario único (UPI)

Si se define que la tabla tiene UPI, la columna considerada como UPI no debe tener valores duplicados. Si se insertan valores duplicados, se rechazarán.

Crear índice primario único

El siguiente ejemplo crea la tabla Salario con la columna EmployeeNo como índice principal único.

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

Índice primario no único (NUPI)

Si se define que la tabla tiene NUPI, entonces la columna considerada como UPI puede aceptar valores duplicados.

Crear índice primario no exclusivo

El siguiente ejemplo crea la tabla de cuentas de empleados con la columna EmployeeNo como índice primario no exclusivo. EmployeeNo se define como índice primario no exclusivo, ya que un empleado puede tener varias cuentas en la tabla; uno para cuenta de sueldo y otro para cuenta de 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);