Tengo una tienda en línea donde los usuarios pueden tener pequeñas tiendas con sus propios productos. Cada uno de estos productos puede tener preguntas asociadas y el propietario de la tienda tiene la capacidad de responder esas preguntas. Esta información se almacena en 3 tablas, una tabla de "Preguntas" (QuestionID, ProductID, ...), una tabla de "Productos" (ProductID, ShopID, ...) y una "Tienda" (ShopID, OwnerID, ...) mesa.¿Es mejor almacenar información redundante o unir tablas cuando sea necesario en MySQL?
¿Es mejor tener un ShopID en la tabla 'Preguntas' (para permitir que el dueño de una tienda vea todas sus preguntas) o unir esas tres tablas para obtener Preguntas que coincidan con una Tienda determinada?
Muchas gracias a todos por sus útiles respuestas. Estaba casi convencido de que sería mejor almacenar información redundante, pero hoy aprendí algo nuevo. Algunas personas señalaron que sería mejor tener una relación M: M entre productos y tiendas, pero eso no tiene sentido (¡en este caso!) Porque los propietarios de las tiendas son completamente diferentes (incluso los costos de envío, etc. están completamente separados). Por lo tanto, no hay forma de que varias tiendas compartan un producto (incluso si fuera el mismo producto, por así decirlo). –