sql >> Base de Datos >  >> RDS >> Mysql

esquema de base de datos para atributos de productos

Lo que está tratando de lograr es un Entidad-Atributo-Valor (EAV) o posiblemente un modelado de filas solución. Tenga en cuenta que este tipo de estructura está mal visto en gran medida por una amplia variedad de muy buenas razones.

Sin embargo, he argumentado (por ejemplo, aquí , aquí , aquí y aquí ) que EAV es MALO, excepto cuando no lo es. Una de esas raras excepciones es en el caso de un catálogo de productos en el que está rastreando las propiedades de los productos y donde esas propiedades no son tan interesantes (¡para su sistema! ) excepto en la medida en que necesite recuperarlos e imprimirlos en una página web de productos o una tabla de comparación, etc.

Considere un diseño como este:

Lo que está haciendo en un modelo como este es describir qué atributos deben tener los productos en una categoría determinada, qué valores podrían tener esos atributos y luego qué valores tiene cada producto específico para cada atributo.

Este diseño tiene todas las limitaciones habituales que impone EAV. Sin embargo, si desea hacer preguntas como:"¿Qué cuentas tienen un diámetro de 8 mm?" eso es bastante sencillo.