Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/08/2008, 06: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: Necesito ayuda con mysql

1. La tabla USUARIO_REGISTROS es la que debe tener las dos FK. Es una regla del modelo: El ID pertenece a la entidad primaria, que en este caso son siempre las PK de USUARIO y REGISTROS (en tu ejemplo no queda claro para qué sirve REGISTROS), porque de lo contrario, si ID_REGISTRO también es parte de la PK de USUARIO_REGISTROS, estarías violando una regla de normalización (una PK compuesta debe estar completa en las tablas donde sea FK).

2. El tema es que no está claro el modelo de la relación:

- El usuario puede tener un sólo registro. La tabla USUARIO_REGISTROS no tiene utilidad. La PK de REGISTRO debería ser FK en USUARIO ya que no puede haber REGISTRO sin USUARIO. Usuario sería primaria (1:1).

- El usuario puede tener más de un registro, USUARIO_REGISTROS puede no ser necesaria si no tiene algún atributo adicional ya que la relación sería USUARIO <- REGISTROS (1:N) y en cada registro aparecerá la FK de USUARUI.

- Si USUARIO_REGISTROS tiene atributos propios, USUARIO_REGISTROS contiene las FK de ambos y la relación es USUARIO <-USUARIO_REGISTROS (1:N) y USUARIO_REGISTROS <-> REGISTRO (N:N).

3. No aclaras que versión de MySQL estás usando. En la 5.0 el tipo de tablas no se indica "TYPE=INNODB", sino "ENGINE=INNODB". Puede ser ese el problema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)