Для чего нужны PRIMARY KEY, FOREIGN KEY?

PRIMARY KEY и FOREIGN KEY — это ключи в реляционных базах данных, которые помогают поддерживать целостность данных и их связи.


1️⃣ PRIMARY KEY (первичный ключ)

Назначение:

  • Уникально идентифицирует каждую строку в таблице.

  • Значение не может быть NULL.

  • Обычно используется для связи с другими таблицами через FOREIGN KEY.

Особенности:

  • Таблица может иметь только один первичный ключ.

  • Может быть составным (несколько столбцов).

Пример:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    department_id INT
);

→ Каждого сотрудника уникально идентифицирует id.


2️⃣ FOREIGN KEY (внешний ключ)

Назначение:

  • Создаёт связь между таблицами.

  • Ограничивает значения столбца так, чтобы они существовали в другой таблице (с первичным ключом).

  • Поддерживает ссылочную целостность.

Пример:

CREATE TABLE departments (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    department_id INT,
    FOREIGN KEY (department_id) REFERENCES departments(id)
);

department_id в employees должен существовать в таблице departments.


3️⃣ Основные отличия

Характеристика
PRIMARY KEY
FOREIGN KEY

Уникальность

Да

Нет (может повторяться)

NULL значения

Нет

Может быть NULL

Связь с другой таблицей

Нет

Да

Количество в таблице

1

Несколько

Last updated

Was this helpful?