Руководство по SQL. Констрейнт PRIMARY_KEY.

Для таблицы первичный ключ (Primary Key) – это поле, которое являетс ядентификатором для каждой отдельной записи в таблице базы данных (далее – БД). Первичный клдюч обязательно должен быть NOT NULL.

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

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

Пример:

Предположим, что у нас есть таблица developers, в которой поле ID является первичным ключом. В этом случае, наша таблица будет иметь следующий вид:


CREATE TABLE developers(
       ID   INT               NOT NULL,
       NAME VARCHAR (100)     NOT NULL,
       SPECIALTY VARCHAR(100) NOT NULL,       
       SALARY  INT            NOT NULL,
       PRIMARY KEY (ID)
);

Для того, чтобы определить первичный ключ в уже существующей талице в RDBMS MySQL мы должны применить следующую команду:


ALTER TABLE developers ADD PRIMARY KEY (ID);

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

Для того, чтобы опредлеить композитный первичный ключ в той же RDBMS мы должны использовать команду, указанную ниже:


CREATE TABLE developers(
       ID   INT               NOT NULL,
       NAME VARCHAR (100)     NOT NULL,
       SPECIALTY VARCHAR(100) NOT NULL,       
       SALARY  INT            NOT NULL,
       PRIMARY KEY (ID, NAME)
);

Для создания констрейнта PRIMARY KEY для полей ID и NAMES в уже существующей таблице для RDBMS MySQL, мы должны использовать такую команду:


ALTER TABLE developers
   ADD CONSTRAINT PK_DEVELOPER_ID PRIMARY KEY (ID, NAME);

Для удаление констрейнта PRIMARY KEY в той же RDBMS испольуется следующая команда:


ALTER TABLE developers DROP PRIMARY KEY ;

На этом мы заканчиваем изучение констрейнта PRIMARY KEY.