Puede ser porque estoy haciendolo un poco a ciegas. Yo no estoy trabajando en tu PC, por lo que puede haber errores de datos que no veo.
Como sea, el problema que tienes para ejecutar las queries es que no has definido la FK de modo que se borre en cascada, lo que genera ese problema para un borrado masivo o en orden incorrecto.
En ptincipio, haciendo dos queries debería funcionar:
Query 1:
Query 2:
De lo contrario hay que modificar la FK en la tabla para hacer que se pueda en una sola, para eso primero hay que borrar la FK que existe y luego crearla de nuevo, con las clausulas que faltan:
Una vez hecho eso, deberías poder borrar la tabla padre sin peligro, y la hija se borraría en cascada.