Cita: en mi funcion para eliminar como ejecuto mas de un DELETE simultaneamente??.
Programáticamente, la respuesta sería: No es en
simultáneo, sino
secuencialmente. Uno detrás de otro, y en el orden correcto
Respecto a las dependencias, bueno, si TU las creaste, TU las conoces. De lo contrario hay varias soluciones:
1) Generar el diagrama de la base de datos por medio de ingeniería inversa, a través de alguna herramienta, como por ejemplo MySQL Workbench (recomedable). Alli se genrarán los gráficos indicando las relaciones de dependencia claramente.
2) Analizar cada tabla de la base, el CREATE TABLE de cada una (ver SHOW CREATE TABLE en el manual de referencia). Con eso puedes ir analizando una una las relaciones.
3) Analizar las dependencias en la base information_schema (solo para expertos), donde puedes ver la definicion de las constraint que existan y su tipo.
Yo sugiero la primera. es algo compleja, pero más facil que las otras.