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

Что такое внешний ключ?

Sobes Copilot

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

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

sobes.tech AI

Внешний ключ (FOREIGN KEY) — это ограничение целостности данных в реляционных базах данных. Он создает связь между двумя таблицами, ссылаясь на первичный ключ (или другой внешний ключ) в другой таблице.

Основные функции внешнего ключа:

  • Обеспечение целостности ссылочных данных: Гарантирует, что значения во внешнем ключевом поле существуют в ссылаемом поле родительской таблицы. Это предотвращает "висячие" записи.
  • Установление связей между таблицами: Определяет, как данные из разных таблиц связаны между собой.
  • Каскадные действия: Позволяет автоматически выполнять действия (удаление или обновление) в дочерней таблице при изменении данных в родительской таблице.

Пример создания внешнего ключа в SQL:

CREATE TABLE `заказы` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `имя_заказчика` VARCHAR(255),
    `идентификатор_продукта` INT,
    FOREIGN KEY (`идентификатор_продукта`) REFERENCES `продукты`(`id`)
);

CREATE TABLE `продукты` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `название_продукта` VARCHAR(255),
    `цена` DECIMAL(10, 2)
);

В этом примере идентификатор_продукта в таблице заказы является внешним ключом, ссылающимся на id в таблице продукты. Это гарантирует, что каждый заказ будет связан с существующим продуктом.