Ver Mensaje Individual
  #10 (permalink)  
Antiguo 15/10/2009, 03:50
3l3azar
 
Fecha de Ingreso: octubre-2009
Mensajes: 6
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: como establecer parametros de consulta variables

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 original
  1. USUARIO_HORARIO         |                HORARIO                |                  COMISION                    |         ACTIVIDAD
  2. user_id    horario_id   |  horario_id    dia    (ini  -  fin)   |  horario_id    comision_id    actividad_id   |   actividad_id      act
  3.  
  4.     01        05               05        lun     (18  -  19)
  5.     01        06               06        lun     (19  -  20)           06            01             01                   01         act01
  6.                                10        mar     (18  -  19)           10            02             02                   02         act02
  7.                                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 Ver Mensaje
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