Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/03/2015, 05:38
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: Carrito compras Consultar 2 tablas igual id

Primero te voy a hacer una observación en cuanto a estructura de datos:
Cita:
Tengo una tienda online (venta de ropa), que contiene 2 hojas (2 categorías) una de ellas (la primera) de ropa llamada X1 y la otra (la segunda) de ropa llamada X2 y por supuesto la tienda con su respectivo carrito de compras único.

Al inicio de todo, sólo tenía 1 categoría llamada X1 y la tienda andaba perfectamente bien junto a su carrito de compras. Pero el problema nace al querer agregar una 2 categoría la llamada X2.

[...]

Un dato importante es que en mi Base de Datos, ambas tablas (hojas de una y otra categoría) tienen dentro las mismas 'id' y mismos campos. Ambas tablas fueron duplicadas y simplemente renombradas como: Categoría X1 y Categoría X2 así de muy sencillo.
Eso que describes es un error desde el punto de vista de la arquitectura de datos. Y un error de los MUY malos.
Si tienes una tabla estructuralmente duplicada, porque la entidad representada en ellas se diferencian en un atributo y sólo un atributo (una categoría en este caso), eso no justifica de ningún modo que se replique una estructura. Es una diferenciación de tipo de dato, no de entidades.
Lo que deberías haber hecho es o establecer un atributo que diferencie las categorías si el objeto representado sólo puede pertenecer a una única, o bien crear una tabla para definir la relación entre productos y categorías, cuando el mismo producto puede pertenecer a más de una (relacion de cardinalidad N:N).
Es decir, tienes un defecto de estructura de datos que está repercutiendo en la aplicación...

Por otro lado, a nivel de aplicación, como tu carrito se carga con un identificador basado en el nombre del producto, y no en su ID y categoría de pertenencia, no estás definiendo un esquema de identificación consistente de los productos que carga el carrito...
En otras palabras, estás almacenando datos basura (inconsistentes), cuando el mismo producto aparece en ambas tablas.

En mi opinión deberías manejar una sola tabla de productos, relacionada a otra de categorías (requerirías tres tablas, una de ellas relacional), y en el carrito deberías almacenar el ID del producto y también su ID de cateogría. DE ese modo sí podrías gestionar todo de modo consistente.


PD: Posteaste este mismo mensaje en tres foros diferentes. Te recomiendo que leas las Politicas de Uso de Foros del Web, porque esa acción está totalmente prohibida. Y en al menos uno de ellos (MySQL) lo hiciste transgrediendo las reglas del subforo respectivo.
No repitas posts.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)