Sobes.tech
Junior — Middle

Wat is het verschil tussen het gebruik van een buitenlandse sleutel en het direct gebruiken van de identificatie uit een andere tabel in de database?

sobes.tech AI

Antwoord van AI

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

Отличия:

  • Внешний ключ обеспечивает автоматическую проверку целостности данных: нельзя вставить значение, которого нет в связанной таблице.
  • При прямом использовании идентификатора без внешнего ключа база не гарантирует, что ссылка корректна — можно случайно вставить несуществующий ID.
  • Внешний ключ позволяет каскадные операции (например, удаление связанных записей), что упрощает поддержку данных.

Пример:

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

Здесь CustomerID в Orders должен существовать в Customers, что предотвращает ошибки данных.