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