Ahora si te entendi a la perfeccion muchas gracias!. Solo me queda una duda con otras tablas q tengo que son la de Asistencia y Justificacion.
Este es mi script:
Código SQL:
Ver originalCREATE TABLE TB_ESTADO_REVISION_JUSTIFICACION(
EST_REV_JUS CHAR(1) NOT NULL PRIMARY KEY,
DESC_EST_REV VARCHAR(20) NULL
)
;
CREATE TABLE TB_JUSTIFICACION(
FEC_ASI DATE REFERENCES TB_ASISTENCIA(FEC_ASI),
COD_ALU CHAR(10) REFERENCES TB_ASISTENCIA(COD_ALU),
COD_JUS INT NOT NULL,
DESC_JUS VARCHAR(1000) NULL,
FEC_REG DATE NULL,
EST_REV_JUS CHAR(1) REFERENCES TB_ESTADO_REVISION_JUSTIFICACION(EST_REV_JUS),
MOT_JUS VARCHAR(20) NOT NULL,
PRIMARY KEY(FEC_ASI,COD_ALU,COD_JUS)
)
;
CREATE TABLE TB_ASISTENCIA(
FEC_ASI DATE NOT NULL,
COD_ALU CHAR(10) NOT NULL REFERENCES TB_ALUMNO(COD_ALU),
EST_ASI VARCHAR(20) NOT NULL REFERENCES TB_ESTADO_ASISTENCIA(EST_ASI),
PRIMARY KEY(FEC_ASI,COD_ALU)
)
;
CREATE TABLE TB_ESTADO_ASISTENCIA(
EST_ASI VARCHAR(20) NOT NULL PRIMARY KEY,
DESC_ASI VARCHAR(20) NOT NULL
)
;
Lo que intento hacer es relacionar la tabla TB_ASISTENCIA con la tabla TB_JUSTIFICACION, en donde
una justificación se le pueda asignar a una o MUCHAS asistencias con el estado 'AUSENTE'. Mi criterio fue el siguiente: como solo en el caso de que las asistencias tengan el estado ausente se le puedan asignar una justificacion, entonces la entidad justificacion sería débil y por eso es que la llave primaria de la tabla TB_ASISTENCIA (FEC_ASI y COD_ALU) ahora son tambien parte de la llave primaria de la tabla TB_JUSTIFICACION. Mi pregunta es:
¿Es esto correcto?¿Está bien que la tabla Justificacion sea débil?
Te agradezco un monton.