Sobes.tech
Back to questions
Junior — Middle
89

Каким образом системы управления базами данных поддерживают целостность ссылочной связи между таблицами?

Answer from AI

sobes.tech AI

СУБД поддерживают целостность ссылочной связи с помощью ограничений внешнего ключа (foreign key). Внешний ключ — это поле или набор полей в одной таблице, которые ссылаются на первичный ключ другой таблицы. При этом СУБД гарантирует, что значения внешнего ключа существуют в связанной таблице, предотвращая нарушение ссылочной целостности.

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

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

ALTER TABLE Orders
ADD CONSTRAINT fk_customer
FOREIGN KEY (CustomerID) REFERENCES Customers(ID)
ON DELETE CASCADE;

Здесь ON DELETE CASCADE означает, что при удалении клиента автоматически удалятся все связанные заказы.