Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/03/2011, 15:56
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: 16 años, 5 meses
Puntos: 2658
Respuesta: Por favor ayuda con modelo de BD

En realidad, el problema no es tan complejo como parece, tiene que ver con modelar ajustandose al modelo E-R ortodoxamente.
Me explico:
La relación Video - Curso - Usuario es una relación ternaria de tipo N:N:N. Por definición, toda relación N:N genera una tabla cuya PK está constituída por la PK de las tablas involucradas. No necesita de por sí ninguna clave propia (allí le estás pifiando), ya que el conjunto asegura la unicidad. Sólo requiere como mucho un atributo discriminador si y sólo si existe la posibilidad de que el mismo grupo de FK puedan aparecer en más de una ocasión, que no es el caso.
Incluso, si lo estudias correctamente, las únicas tablas que deben poseer su propia PK no dependiente de otras son Usuario, Video y Curso. Todo el resto no requieren PK propia (pifiada general).
Si un Usuario sólo puede hacer un curso una sola vez, entonces la tabla Usuarios_Curso sólo requeriría como PK las FK de usuario_id y curso_id. En ese contexto, si el Usuario sólo puede ver un video si y sólo si está en un curso, entonces la relación es entre la tabla Usuario_Curso y Video con cardinalidad N:N. De esa forma, la tabla hereda a su vez sólo dos claves: Una clave compuesta desde Usuario_Curso y la FK de Video.
¿Se va entendiendo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)