В чем разница между первичным и внешним ключом

«В чем разница между первичным и внешним ключом» — вопрос из категории Базы данных, который задают на 27% собеседований Бизнес Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Первичный ключ (Primary Key, PK) — это уникальный идентификатор записи в таблице. Он гарантирует, что каждая строка имеет уникальное значение и не может быть NULL. Например, в таблице Users PK может быть user_id.

Внешний ключ (Foreign Key, FK) — это поле, которое ссылается на PK другой таблицы, обеспечивая связь между таблицами. FK может быть NULL (если связь необязательна) и допускает дублирование (если отношение "многие к одному").

Пример:

CREATE TABLE Users (
    user_id INT PRIMARY KEY,
    name VARCHAR(100)
);

CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    user_id INT,
    FOREIGN KEY (user_id) REFERENCES Users(user_id)
);

Здесь user_id в Orders — FK, ссылающийся на PK Users.