¿Cuántos tipos de productos espera? ¿Cada uno tiene su propia lógica de aplicación?
Puede hacer un modelo generalizado llamado modelo de "valor de atributo de entidad", pero tiene MUCHAS trampas cuando intenta tratar con propiedades específicas de un producto. Las consultas de búsqueda simples a veces se convierten en verdaderas pesadillas. La idea básica es que tiene una tabla que contiene el ID del producto, el nombre de la propiedad (o ID en una tabla de propiedades) y el valor. También puede agregar tablas para contener plantillas para cada tipo de producto. Entonces, un conjunto de tablas le indicaría qué propiedades puede tener cualquier producto determinado (posiblemente junto con rangos de valores válidos) y otro conjunto de tablas le diría cuáles son los valores para cualquier producto individual.
Sin embargo, recomendaría encarecidamente no usar este modelo, ya que parece una idea muy ingeniosa hasta que realmente tiene que implementarlo.
Si la cantidad de tipos de productos es razonablemente limitada, optaría por la segunda solución:una tabla principal de productos con atributos básicos y luego tablas adicionales para cada tipo específico de producto.