Ver Mensaje Individual
  #9 (permalink)  
Antiguo 27/12/2009, 19:08
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Como sería la relacion entre Grado, seccion y alumno?

Cita:
La tabla TB_JUSTIFICACION tiene como llave primaria (FEC_ASI,COD_ALU,COD_JUS), lo que quiero es asignarle una justificacion a estas dos inasistencias ingresando un solo registro a la tabla TB_JUSTIFICACION, pero veo que no puedo, una alternativa creo que seria poner como FK el COD_JUS en la tabla TB_ASISTENCIA, pero de esa manera la tabla TB_JUSTIFICACION ya no sería debil y ahi está el problema.
No inventes cosas que violan el modelo relacional, o que no tienen justificaciones, solamente para ahorrarte trabajo de programación en la interfase.
No puedes poner dos justificaciones, que son para dos fechas diferentes, insertando un sólo registro en Justificaciones. Eso es imposible, porque la fecha a ingresar es única por alumno y es parte de la clave primaria.
Estás confundiendo el modelo de datos con los procesos de carga. No son la misma cosa. Una es bases de datos y la otra aplicaciones de usuario.
Si estás ingresando las inasistencias, las mismas deben estar en la tabla antes de intentar ingresar sus justificaciones. El que puedas ingresarlas todas en un formulario, nada tiene que ver con la bases de datos. Es en la aplicación en la que estableces la secuencia de ingresos, respetando el modelo de datos, o de lo contrario tendrás problemas de integridad y consistencia.

Para que quede claro: No se puede, ni usando triggers, hacer que se ingrese un registro en Justificación al mismo tiempo que estás ingresando la inasistencia. No solamente por problemas de integridad, sino porque tampoco puedes mandarle a una tabla datos para columnas que no tiene, a fin de que en un trigger las ponga en otra tabla. Por lo mismo, no puedes mandarle dos fechas a la tabla Justificación, cuando la misma tiene solo una columna para usar...
No hay DBMS que te lo admita.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)