Tengo el siguiente problema. Tengo dos entidades relacionadas entre sí mediante una asociación de muchos a muchos (N:M).
La tabla que genero para dicha asignación contiene una clave primaria compuesta (1 de una entidad y 1 de la otra entidad), y dos claves externas (cada una referenciando a la entidad correspondiente).
Pues bien, mi intención es hacer que cada vez que borre una tupla/registro de cualquiera de las dos entidades pase lo siguiente:
- Se borre el registro correspondiente en la asociación (lo hace porque las claves externas están ON DELETE CASCADE ...)
- Si solo hay un registro que referencie a la borrada, se borre ese registro (además del registro en la tabla de asociacion).
Pregunta del millón: ¿ Hay alguna manera de lograr esto mediante un buen diseño de la base de datos o tendría que realizarlo en tiempo de ejecución manualmente mediante consultas y borrados ?
Disculpas por esta patata de mensaje.
Gracias de antemano.