No creo que USUARIO_HORARIO sea redundante. Voy a poner un ejemplo: tengo un usuario 'user01', que tiene libre los lunes desde las 18:00 hasta las 20:00. Supongamos que los horarios 18:00-19:00 y 19:00-20:00 del lunes tienen el horario_id = 05 y 06 respectivamente. Ahora tengo la actividad 'act01', que se desarrolla en dos comisiones: lunes de 19:00 a 20:00 y jueves de 19:00 a 20:00 (horario_id = 06 y 25 respectivamente); y la actividad 'act02', los martes de 18:00 a 19:00 (horario_id = 10). Yo lo que quiero saber es que actividad o actividades puede realizar user01:
Código Tablas:
Ver originalUSUARIO_HORARIO | HORARIO | COMISION | ACTIVIDAD
user_id horario_id | horario_id dia (ini - fin) | horario_id comision_id actividad_id | actividad_id act
01 05 05 lun (18 - 19)
01 06 06 lun (19 - 20) 06 01 01 01 act01
10 mar (18 - 19) 10 02 02 02 act02
25 jue (19 - 20) 25 03 01 01 act01
De este modo puedo relacionar a user01 con act01, que es la unica actividad de mi base de datos que user01 puede realizar. Crees que esta estructuración de los datos es suficientemente eficiente?
En cuanto a la otra tabla, USUARIO_ACTIVIDAD, tambien la necesito, puesto que, siguiendo con el ejemplo anterior, que user01 pueda asistir a act01 no implica necesariamente que lo vaya a hacer, por lo que en algún sitio tengo que almacenar las comisiones a las que asiste cada usuario.
Cita:
Iniciado por gnzsoloyo
El modelo E-R no es el único modelo que existe en bases de datos, pero se ha mostrado como el más eficiente y eficaz de ellos, por lo cual ha sido implementado por todas las empresas que diseñan sistemas de gestión de bases de datos (DBMS), tales como IBM, Oracle, Microsoft y un larguísimo etcétera.
Entiendo. Muchas gracias por la paciencia que estas teniendo conmigo gnzsoloyo