Что такое ForeignKey

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

Ответ

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

Пример (SQL):

CREATE TABLE Orders (
    OrderID int PRIMARY KEY,
    CustomerID int,
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

Здесь CustomerID в таблице Orders ссылается на CustomerID в таблице Customers, гарантируя, что заказ принадлежит существующему клиенту.

Нюансы:

  • Поддерживает каскадное удаление/обновление (ON DELETE CASCADE).
  • Может быть NULL, если связь необязательна.
  • Замедляет операции вставки/обновления из-за проверок целостности.