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

gnzsoloyo, ante todo quiero agradecerte el tiempo que has dedicado a responderme. No recuerdo ni la primera tutoría en la universidad en la que un profesor pusiera tanto empeño en enseñarme algo. El PDF me resultó bastante esclarecedor, y tus explicaciones mucho más. Muchas gracias, de verdad.

Creo que debo explicar mejor el objeto de mi base de datos. Se trata de proporcionar a unos usuarios una lista de actividades que se ajusten a lo que están buscando. Para ello, los usuarios establecen un horario de disponibilidad y la base de datos les ofrece las actividades que se desarrollan dentro de ese horario. No se si se entiende.

Dicho esto, gnzsoloyo, he intentado aplicar los conceptos a los que haces referencia. De este modo, creo que las restricciones de mi modelo serían:

- Un usuario puede realizar una o más actividades.
- Un usuario puede asistir a una o varias comisiones.
- Un usuario puede tener muchos horarios para cada día.
- Cada actividad se desarrolla en una o varias comisiones.
- Una misma actividad puede desarrollarse en varios horarios diferentes en diferentes días.
- Cada comisión tiene un único horario y día.

Por lo que los elementos serían los siguientes:

- Usuarios.
- Actividad.
- Comisión.
- Horario.

Como tu expusiste, las relaciones a consultar serían: Usuarios, Actividades, Comisiones y Horarios. Y ahora las tablas:

- USUARIO (user_id, username...)
- ACTIVIDAD (actividad_id, denominación...)
- COMISIÓN (comision_id, horario_id, actividad_id...)
- HORARIO (horario_id, inicio, fin, día de la semana...)
- USUARIO_ACTIVIDAD (user_id, comision_id...)

No se que tal lo he hecho. Tengo algunas dudas acerca de esto. En primer lugar:
Cita:
Iniciado por gnzsoloyo Ver Mensaje
- No hay relación directa entre un usuario y una actividad, porque un usuario se inscribe en la comisión, no en la actividad, ya que es la comisión la que debe ser de una actividad (cuestiones conceptuales).
No entiendo esto. Si una actividad puede tener una o mas comisiones, y una comision solo puede tener un horario, por qué no decir directamente que una actividad puede tener uno o mas horarios, y eliminar el paso intermedio? Crearía la tabla ACTIVIDAD_HORARIO para relacionar los dos elementos igual que creo la de USUARIO_ACTIVIDAD, pero sin necesidad de añadir un elemento más. Siempre considerando que, como tu dices, un usuario se "inscribe" en un horario, no en una actividad. Es correcto?