Терадата - первичный индекс

Первичный индекс используется, чтобы указать, где находятся данные в Teradata. Он используется, чтобы указать, какой AMP получает строку данных. Каждая таблица в Teradata должна иметь определенный первичный индекс. Если первичный индекс не определен, Teradata автоматически назначает первичный индекс. Первичный индекс обеспечивает самый быстрый способ доступа к данным. Основной может иметь максимум 64 столбца.

Первичный индекс определяется при создании таблицы. Есть 2 типа первичных индексов.

  • Уникальный первичный индекс (UPI)
  • Неуникальный первичный индекс (NUPI)

Уникальный первичный индекс (UPI)

Если таблица определена как имеющая UPI, тогда столбец, который считается UPI, не должен иметь повторяющихся значений. Если будут вставлены повторяющиеся значения, они будут отклонены.

Создать уникальный первичный индекс

В следующем примере создается таблица Salary со столбцом EmployeeNo в качестве уникального первичного индекса.

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

Неуникальный первичный индекс (NUPI)

Если таблица определена как имеющая NUPI, тогда столбец, который считается UPI, может принимать повторяющиеся значения.

Создать неуникальный первичный индекс

В следующем примере создается таблица счетов сотрудников со столбцом EmployeeNo в качестве неуникального первичного индекса. EmployeeNo определяется как неуникальный первичный индекс, поскольку у сотрудника может быть несколько учетных записей в таблице; один для счета заработной платы, а другой - для счета возмещения расходов.

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