Junior
52
questionbank

Что такое внешние ключи (Foreign Key) в базе данных?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

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

Основные функции и концепции:

  • Связывание таблиц: Внешние ключи устанавливают взаимосвязь между двумя таблицами, представляя собой link. Например, в таблице orders может быть внешний ключ customer_id, ссылающийся на первичный ключ id в таблице customers.
  • Целостность данных: Обеспечивает ссылочную целостность (referential integrity), гарантируя, что данные во дочерней таблице корректно ссылаются на существующие данные в родительской таблице. Нельзя вставить запись в дочернюю таблицу с внешним ключом, который не соответствует существующему первичному ключу в родительской таблице.
  • Взаимодействие при изменениях: Поведение при удалении или обновлении записей в родительской таблице может быть настроено с помощью правил CASCADE, RESTRICT, SET NULL, SET DEFAULT или NO ACTION.

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

sql

Здесь category_id в таблице products является внешним ключом, ссылающимся на category_id (первичный ключ) в таблице categories. ON DELETE CASCADE означает, что при удалении категории будут удалены и все связанные с ней продукты.