Teradata - Index primaire

L'index principal est utilisé pour spécifier l'emplacement des données dans Teradata. Il est utilisé pour spécifier quel AMP obtient la ligne de données. Chaque table de Teradata doit avoir un index principal défini. Si l'index principal n'est pas défini, Teradata attribue automatiquement l'index principal. L'index primaire fournit le moyen le plus rapide d'accéder aux données. Un primaire peut avoir un maximum de 64 colonnes.

L'index primaire est défini lors de la création d'une table. Il existe 2 types d'index primaires.

  • Index primaire unique (UPI)
  • Index primaire non unique (NUPI)

Index primaire unique (UPI)

Si la table est définie comme ayant UPI, la colonne considérée comme UPI ne doit pas avoir de valeurs en double. Si des valeurs en double sont insérées, elles seront rejetées.

Créer un index primaire unique

L'exemple suivant crée la table Salary avec la colonne EmployeeNo en tant qu'index principal unique.

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

Index primaire non unique (NUPI)

Si la table est définie comme ayant NUPI, la colonne considérée comme UPI peut accepter des valeurs en double.

Créer un index primaire non unique

L'exemple suivant crée la table des comptes d'employés avec la colonne EmployeeNo comme index primaire non unique. EmployeeNo est défini comme un index primaire non unique car un employé peut avoir plusieurs comptes dans la table; un pour le compte de salaire et un autre pour le compte de remboursement.

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