Назад к вопросам
Junior
149
questionbank

Что такое первичный ключ (PK) и внешний ключ (FK) в SQL?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

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

  • Свойства:
    • Каждая таблица должна иметь первичный ключ.
    • Значения в первичном ключе должны быть уникальными.
    • Значения в первичном ключе не могут содержать NULL.

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

  • Назначение:
    • Создает связь между двумя таблицами.
    • Обеспечивает целостность ссылочных данных, гарантируя, что значения во внешнем ключе существуют в связанном первичном ключе.
CREATE TABLE parents (
    parent_id INT PRIMARY KEY, -- Первичный ключ
    name VARCHAR(255)
);

CREATE TABLE children (
    child_id INT PRIMARY KEY,
    parent_id INT, -- Внешний ключ, ссылающийся на parents.parent_id
    FOREIGN KEY (parent_id) REFERENCES parents (parent_id)
);