Cita:
Iniciado por gnzsoloyo 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!