Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

como relacionar 4 tablas

Estas en el tema de como relacionar 4 tablas en el foro de Mysql en Foros del Web. Como debo relacionar 4 tablas dos tablas serian productos comprados en dos tiendas diferentes y las otras dos tipos de transaciones realizadas osea que tendria ...
  #1 (permalink)  
Antiguo 10/05/2013, 11:35
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 10 meses
Puntos: 10
como relacionar 4 tablas

Como debo relacionar 4 tablas dos tablas serian productos comprados en dos tiendas diferentes y las otras dos tipos de transaciones realizadas osea que tendria que unir tienda 1 con transacion1 o transacion2, y tienda2 con transacion1 o 2 las tablas serian estas:

vendido_tienda1


vendido_tienda2


transacion1


transacion2


el problema que veo es que si las relaciono asin como transacion1 dos index y relacion con vendido_tienda1 y vendido_tienda2 y asin al inversa, pero se que esta manera no es la correcta porque en las dos tablas de transaciones en una de ellas siempre quedaria un campo nulo que tendria una clave foranea y no puede ser null, no se si se me entiende mi problema.

Alguien me puede ayudar a unir estas cuatro tablas?
  #2 (permalink)  
Antiguo 10/05/2013, 12:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: como relacionar 4 tablas

Cita:
Alguien me puede ayudar a unir estas cuatro tablas?
SI, podríamos auydarte, pero lo primero que tienes que tener en cuenta es que estás diseñando mal el sistema.
No tienes cuatro tablas (y si las has hecho, desde ya no te funcionará bien), porque lo que tienes son dos herencias (Tienda y Transacción), una tabla que relaciona la tienda con la transacción (Transacción_Tienda), y producto relacionado con esa.
La tienda 1 y la 2, son instancias de tienda, mientras que Transacción 1 y 2, son instancias de Transacción.

Cualquier otro modelado no permitirá relacionar correctamente ese esquema, entre otras cosas porque una misma FK no puede apuntar alternativamente a dos tablas diferentes.
Así como lo planteas, el modelo requeriría más de cuatro tablas. Muchas más.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 10/05/2013, 12:09
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: como relacionar 4 tablas

hola me podrias poner un esquema de la manera q se tiene q diseñar este tipo de casos?
gracias de todas formas por tu ayuda
  #4 (permalink)  
Antiguo 10/05/2013, 12:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: como relacionar 4 tablas



No es un esquema, en realidad, es análisis de sistemas. Mucho surge de la experiencia, porque los fundamentos están en cómo abstraer el modelo de procesos y el de datos...
No te puedo dar una fórmula, porque no existe. Si existiesen formulas específicas, no existiría la carrera universitaria en estos temas.

Lo que te puedo decir es que si lo hubiera descripto de otra forma, el mismo planteo admitiría la solución que propone. Pero como lo explica, no es aplicable.

Como verás, no es tema de fórmulas, sino de aprender a analizar los requerimientos de datos para los sistemas que se desea diseñar.



¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 10/05/2013, 14:11
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 10 meses
Puntos: 10
Respuesta: como relacionar 4 tablas

Hola gnzsoloyo gracias, bueno te comento el sistema de la base de datos no solo estan estas cuatro tablas y si estas son herencias pero no se como relacionarlas ya que las tabla de las transiciones tiene dos claves foraneas cada una que se relaciona con cada tienda.

Entonces que tendria que hacer crear otra tabla para unir tiendas con transaciones donde esta tabla tendria que tener todas las fk, algo asin seria o no?

Saludos
  #6 (permalink)  
Antiguo 10/05/2013, 14:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: como relacionar 4 tablas

Cita:
ya que las tabla de las transiciones tiene dos claves foraneas cada una que se relaciona con cada tienda.

Entonces que tendria que hacer crear otra tabla para unir tiendas con transaciones donde esta tabla tendria que tener todas las fk, algo asin seria o no?
No.
Lo que necesitas es una tabla padre Tienda, que unifique ambas instancias, y sea a esa instancia donde se relacionen las transacciones.
la idea es que cada tienda es una sucursal, o al menos una instancia de otra mayor, que agrupa los comercios desde el punto de vista de persona jurídica (comercial). Como cada una tiene su propio ID en ese contexto, la relación de la transacción se debería hacer desde la tabla padre.
En cualquier caso, sin conocer bien cómo es el diseño que tu tienes planteado, no es sencillo desde lejos darte la solución exacta.
Lo que sí puedo asegurarte es que plantear una supertabla que agrupe todo es un error de diseño bastante grave...
Postea un esquema del DER que estás planeando para poder darnos una mejor idea de lo que habría que hacer.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 10/05/2013, 14:49
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 10 meses
Puntos: 10
Respuesta: como relacionar 4 tablas

No tengo realmente nada hecho ya que solo lo estoy pensando la manera correcta de hacerlo, entonces te refieres a tener dos tablas una para cada tienda despues unirlas en otra tabla que tiene las ventas y hacer lo mismo con la transiciones.

gnzsoloyo sabes de algun tutorial donde pueda coger los conceptos necesarios para poder replantear cualquier sistema de base de datos?

saludos.

Etiquetas: campo, relacionar, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:53.