В примере на рисунке для создания индекса первичного ключа в явном виде используется предложение CREATE INDEX с инструкцией CREATE TABLE.

Индексам можно присвоить имя во время создания первичного ключа, чтобы оно отличалось от имени ограничения PRIMARY KEY.
Сведения об индексах можно запросить в представлении словаря данных USER_INDEXES.
Примечание. Дополнительные сведения о представлении словаря данных USER_INDEXES содержатся в материалах занятия «Управление объектами с помощью представлений словаря данных».
Следующий пример служит иллюстрацией поведения базы данных в случае, когда имя индекса не задано в явном виде:
CREATE TABLE EMP_UNNAMED_INDEX (employee_id NUMBER(6) PRIMARY KEY , first_name VARCHAR2(20),
|

SELECT INDEX_NAME, TABLE_NAME FROM USER_INDEXES
|

Обратите внимание, что индексу, который создается для столбца PRIMARY KEY, сервером Oracle присваивается общее имя.
Можно также использовать существующий индекс для столбца PRIMARY KEY – например, когда ожидается большой объем загрузки данных и необходимо ускорить работу. Возможно, потребуется отключить ограничения во время выполнения загрузки, а затем снова включить их.
В этом случае наличие уникального индекса для первичного ключа по-прежнему будет приводить к проверке данных во время загрузки. По этой причине можно сначала создать неуникальный индекс в столбце, обозначенном как PRIMARY KEY, а затем создать столбец PRIMARY KEY и указать, что он должен использовать существующий индекс. Этот процесс иллюстрируется следующими примерами.
Шаг 1. Создание таблицы:
CREATE TABLE NEW_EMP2 (employee_id NUMBER(6), first_name VARCHAR2(20), last_name VARCHAR2(25)
|
Шаг 2. Создание индекса:
CREATE INDEX emp_id_idx2 ON |
Шаг 3. Создание первичного ключа:
ALTER TABLE new_emp2 ADD PRIMARY KEY (employee_id) USING INDEX |
Далее: Выполнение запросов представления USER_IND_COLUMNS