Sobes.tech
Junior — Middle
64

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

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Для удаления записей, связанных с внешним ключом в базе данных, можно использовать следующие методы:

  1. Каскадное удаление (Cascade Delete) — настройка внешнего ключа с опцией ON DELETE CASCADE. При удалении родительской записи автоматически удаляются связанные дочерние записи.

  2. Ручное удаление в коде — сначала удалить дочерние записи, связанные внешним ключом, а затем родительскую запись.

  3. Триггеры базы данных — настроить триггер, который при удалении родительской записи удалит связанные дочерние.

Пример SQL с каскадным удалением:

ALTER TABLE child_table
ADD CONSTRAINT fk_parent
FOREIGN KEY (parent_id)
REFERENCES parent_table(id)
ON DELETE CASCADE;

В Java при использовании ORM (например, Hibernate) можно настроить каскадные операции через аннотации @OneToMany(cascade = CascadeType.REMOVE) или аналогичные.