83 Últimos ajustes de eliminar registros Sistema de Gestión Escolar(PHP y MySql)FullStack
Duración: 31 minDescripción
LECCIÓN 83: Últimos ajustes de eliminar registros del Sistema de Gestión Escolar (PHP y MySql) 🔒
Esta lección es una revisión final crucial de la funcionalidad de eliminación (DELETE) en el sistema, centrándose en cómo manejar la integridad referencial dada la complejidad del diseño de la base de datos (con 18 tablas interconectadas).
El objetivo es evitar errores críticos en el sistema cuando se intenta borrar un registro que ya está siendo utilizado o referenciado en otra tabla.
1. Solución para la Integridad de Datos
Debido a que muchas tablas están relacionadas por llaves foráneas, la eliminación directa de un registro padre (ej. un nivel) resultaría en un error si existen registros hijos (ej. grados) vinculados a él.
- Implementación de TRY-CATCH: La solución consiste en envolver la consulta de eliminación (DELETE) en el controlador PHP con un bloque TRY-CATCH [08:40].
- Manejo de Excepciones: Si el TRY falla (porque la base de datos restringe la eliminación por la existencia de relaciones), el bloque CATCH intercepta la excepción [09:29].
- Mensaje de Error Amigable: En lugar de que el sistema falle, se devuelve un mensaje de error al usuario, indicando: "Error no se pudo eliminar en la base de datos porque este registro existe en otras tablas" [09:47]. La eliminación solo se ejecutará si el registro no tiene ninguna dependencia.
2. Revisión del Módulo de Eliminación por Módulo
Se revisaron y ajustaron las funcionalidades de eliminación para los siguientes módulos:
| Módulo | Decisión sobre el botón Eliminar | Motivo y Relaciones Clave |
|---|---|---|
| Configuración | Se mantiene [04:50] | No tiene relaciones que impidan su eliminación. |
| Gestiones | Se habilita con TRY-CATCH [06:59] | Relacionado con niveles. |
| Niveles | Se habilita con TRY-CATCH [12:19] | Relacionado con grados. |
| Grados | Se habilita con TRY-CATCH [14:58] | Relacionado con estudiantes y asignación de docentes. El sistema permite borrar si el grado no está asignado, pero bloquea si está en uso [17:35]. |
| Materias | Se habilita con TRY-CATCH [20:58] | Relacionado con asignación de docentes y cardex. |
| Roles | Se habilita con TRY-CATCH [24:12] | Relacionado con usuarios y roles_permisos. |
| Permisos | Se habilita con TRY-CATCH [29:50] | Relacionado con roles_permisos. |
3. Conclusión Final
Con la implementación del bloque TRY-CATCH en los controladores de eliminación, el sistema queda protegido contra fallas de integridad de datos. El usuario tiene el control de borrar registros no utilizados, pero la información esencial del sistema se mantiene íntegra y protegida de eliminaciones accidentales [30:57]. Con este ajuste, el desarrollo del sistema se considera completado [31:05].
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️