sql Что такое первичный ключ, зачем он нужен

Forums:

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

  1. Повышение эффективности поиска и обновления данных

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

  2. Предотвращение дублирования данных

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

  3. Обеспечение целостности данных

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

  4. Улучшение производительности базы данных

    Использование первичного ключа может существенно улучшить производительность базы данных. В сравнении с поиском данных по другим столбцам, поиск по первичному ключу часто является значительно более быстрым. Это особенно важно для больших таблиц с большим объемом данных.

Как создать первичный ключ в SQL

В SQL primary key создается двумя основными способами:

  1. При создании таблицы через оператор CREATE TABLE;
  2. Для уже существующей таблицы с помощью ALTER TABLE.

Пример создания таблицы clients с простым первичным ключом по полю id:

CREATE TABLE clients (id INT PRIMARY KEY, first_name VARCHAR(50), 
    last_name VARCHAR(50));

Создать первичный ключ для нескольких столбцов (составной ключ):

CREATE TABLE documents (doc_number VARCHAR(10), doc_series VARCHAR(2), 
    owner_id INT, PRIMARY KEY (doc_number, doc_series));

Добавление первичного ключа в существующую таблицу products, пример:

ALTER TABLE products ADD PRIMARY KEY (id);

Добавление составного первичного ключа:

ALTER TABLE articles ADD PRIMARY KEY (author_id, article_id);



Источники:
Первичный ключ SQL: что это и как работает
Первичные ключи (primary key) в SQL - синтаксис и примеры использования

Key Words for FKN + antitotal forum (CS VSU):