Для таблицы первичный ключ (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.