Bases de Datos - ¿Como eliminar registros de la base de datos de acuerdo a las relaciones de tablas?

 
Vista:
Imágen de perfil de Víctor

¿Como eliminar registros de la base de datos de acuerdo a las relaciones de tablas?

Publicado por Víctor (2 intervenciones) el 18/04/2018 17:01:12
Hola amigos un saludo, espero se encuentren bien.

Lo que sucede es lo siguiente, estoy desarrollando una aplicación web sencilla para un colegio y estoy trabajando con una base de datos relacional como se observa en la imagen adjunta. En mi aplicación web acceden varios usuarios (Funcionarios,Docentes,Padres,Estudiantes) y cada uno tiene un rol diferente, por ende distintas funcionalidades. Por ejemplo, los estudiantes sólo consultan notas, los docentes actualizan notas, los funcionarios pueden crear y eliminar usuarios en la base de datos; Aquí se plantea mi interrogante, como controlo el tema de la eliminación de usuarios en las tablas teniendo en cuenta las relaciones que poseen las mismas, por ejemplo, si un funcionario desea eliminar el usuario de un padre debería eliminar primero el registro de un estudiante que pertenece a dicho padre, tomando en cuenta la teoría de relación de tablas padres e hijas debido a las llaves primarias y foráneas. Eso es lo que no sé, pues pienso que no sería correcto escribir un mensaje en pantalla diciendo al funcionario, primero debes eliminar el registro del estudiante para eliminar el del padre. Quisiera saber que sería lo más apropiado para estos casos o si debo reformular las relaciones de las tablas. Les adjunto también el código de la aplicación que está en PHP y el backup de la base de datos. Disculpen por escribir tanto y les agradezco mucho.

MR-Final
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Leonardo Daniel A.
Val: 434
Oro
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Como eliminar registros de la base de datos de acuerdo a las relaciones de tablas?

Publicado por Leonardo Daniel A. (211 intervenciones) el 24/04/2018 06:46:43
Pues existe el borrado en cascada cuando diseñas tu base de datos, aunque no todas lo soportan.... a mi no me gusta eso... Prefiero iniciar una transaccion y empezar a borrar los registros de las tablas relacionadas, hasta llegar a la tabla padre y terminar la transaccion, si no hubo error se hace un commit y si existio alguna falla, se descartan todos los cambios con un rollback
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar