Ver Mensaje Individual
  #7 (permalink)  
Antiguo 05/08/2011, 12:41
WinderJerter
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Problemas con INNER JOIN

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Armar bien el diseño y poner las FK correspondientes, o bien hacer el INNER JOIN usando el campo que efectivamente está relacionado.

Mi sugerencia es que antes de seguir avanzando rediseñes bien la base de datos y pongas las relaciones correctamente. Modificar una base sobre la marcha, o luego de hacer la página es una pesadilla.

Lo que tienes que considera es como es la secuencia de relaciones:
1) ¿El usuario sube imágenes? En cada Imagen va la FK que corresponde a ese usuario.
2) ¿Sube imagenes temporales? En cada imagen temporal va la FK del usuario.
3) Cada imagen tiene un thumbnail? En cada thumbnail va la fk de la imagen (la del usuario ya viene con esa relación).
El problema es que no puedes relacionar la tabla thumbnails con dos tablas de imágenes al mismo tiempo, porque no te lo admitirá, entonces lo tienes que pensar así:
- Imagenes es tabla madre. imagenes_final es subtabla de imagenes, e imagenes_temp también
- Thumbnails se relaciona con Imágenes.

En otras palabras, es un esquema de cuatro tablas.
Mira tengo 7 tablas:

IMAGES > IUID | ID | NAME TYPE | SIZE | DIMENSIONS | DATE |LOCATION | BASE_64 | PIN

TMP_IMAGES > IUID | ID | NAME TYPE | SIZE | DIMENSIONS | DATE |LOCATION | BASE_64 | PIN

USERS > IUID | UPLOADS | DATE | EMAIL

TMP_USERS > IUID | UPLOADS | DATE | EMAIL

THUMBNAILS > ID | SQUARE_75 | MEDIUM_640

REPORTS > ID | #

BANNED > IUID | MOTIVE | EXPIRE

La tabla TMP_IMAGES son las imagenes subidas que no han sido activas y cuando se activan se cambian a IMAGES para que se no sean borradas al igual como ocurre en las tablas TMP_USERS y USERS.

Estaba viendo si eliminar la tabla TMP_IMAGES y TMP_USERS y agregarles un campo llamado STATUS y asi evitarme muchos problemas pero como es mejor, tu que me recomiendas???

Saludos!

Última edición por WinderJerter; 05/08/2011 a las 12:54 Razón: incompleto