Если вы используете таблицы InnoDB, вы можете добавить ограничение внешнего ключа, которое препятствует удалению объектов, если у них есть события и если идентификатор объекта обновляется, он автоматически обновляет значения venue_id в таблице событий.
ALTER TABLE `events` ADD FOREIGN KEY ( `venue_id` ) REFERENCES `venues` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE ;
Или как-то так.
Это просто опция, которую вы можете использовать, если хотите, которая добавляет дополнительную надежность на уровне данных в случае, если в вашем приложении есть ошибка, препятствующая обнаружению ограничения в коде. Я бы добавил его в код, чтобы ваше приложение не получало предупреждение / ошибку SQL.