No localizo unos registros eliminados en mi base de datos

Tengo un problema de borrado de registros y no sé dónde puede estar.
He realizado un formulario de "partes" que a su vez incluye un "subformulario_parte" que contiene uno o varios registro pertenecientes a cada parte.
Para que estén relacionados los registros del "subformulario_parte" he creado tres tablas.
Tabla 1 -- "partes" (contiene una id_parte, que es la clave principal)
Tabla 2 -- "subformulario_partes" (contiene una id_subformulario_partes, que es la clave principal)
Tabla 3 -- Tabla intermedia entre "partes" y "subformulario_partes" con dos campos que son clave principal. Los campos son "id_parte" de la Tabla 1 y "id_subformulario_parte" de la Tabla 2.
Estas 3 tablas están relacionadas, (con integridad referencial y actualización y borrado en cascada), de la siguiente manera:
Tabla 1 (campo id_parte) con Tabla 3 (campo id_parte)
Tabla 2 (campo id_subformulario_parte) con Tabla 3 (campo id_subformulario_parte)
El problema viene cuando borro un registro del subformulario "subformulario_partes", que está dentro del formulario "partes". Borrando los datos de la siguiente manera:
Borra el registro correspondiente el la Tabla 3, pero no borra el registro correspondiente a la Tabla 2 (que es la que tiene los registros del "subformulario_partes")
Y cuando borro un registro del formulario "partes", elimina de la siguiente manera:
Borra el registro correspondiente de la Tabla 1, borra todos los registros correspondientes en la Tabla 3, pero no borra ningún registro de la Tabla 2 (que es la que tiene los registros del "subformulario_partes")
No sé si me he expresado correctamente.

1 respuesta

Respuesta
1
En el modelo de entidad relación la relación de las Tablas de clic sobre cada una de las relaciones y al momento de exigir integridad referencial dígale que de uno a varios y habilite las casillas también las que dice Actualizar y Borrar en cascada..
Éxitos
El caso es, como comentaba en mi pregunta, que las relaciones de las tablas ya están definidas con la integridad referencial y también tienen habilitadas las casillas de Actualizar y Borrar en Cascada.
El problema está en que de las 3 tablas, solamente borra los registros de 2 de ellas. Por esa cuestión no tengo ni idea que puedo estar haciendo mal. Porque supongo que sea algo que no he tenido en cuenta.
Así que si a alguien se le ocurre que puede ser, agradecería me echara una mano.
Gracias.
Puede ser que la tabla que no le deja borrar los registros es aquella que contiene los datos de origen... o que son indispensables para que exista una relación. Aquí le recomendaría que hiciera un delete primero a las tablas de en donde los registros de destino, ejemplo la tabla donde la relación de 1 a muchos muchos esta en muchos.. y después si borre los registros de la tabla origen.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas