Je suis de la conception de ma base de données/domaine pour une application eCommerce et je vais avoir un moment difficile de déterminer comment les produits de la boutique.
Le site web permettra de vendre une large gamme de produits, des stylos, des lanières, des tatouages, des parasols, des tout. Chacun de ces produits va partager quelques attributs communs, la hauteur, la largeur, la longueur, le poids, etc, mais certains produits ont des données spéciales. Par exemple, les stylos ont différentes couleurs d'encre et des conseils et des couvercles et des brochures de différents types de plis. Jusqu'à présent, j'ai pensé à quelques 20+ attributs supplémentaires, mais ces attributs peuvent ne s'appliquer qu'à 1% des produits sur le site.
Donc je me demande si c'est approprié pour mettre en œuvre un modèle EAV pour gérer les données supplémentaires. En gardant à l'esprit que lorsque les clients sont à consulter le site dans le frontend, il y aura un filtrage barre latérale, comme sur eBay et carsales.com.de l'ua. (Donc en gardant à l'esprit qu'il sera un peu juste de l'interrogation)
Je ne pense pas que c'est pratique à mettre en œuvre en Classe de l'héritage de Table comme le système doit rester souple. C'est parce que, en bas de la piste on peut avoir plusieurs attributs dans le futur avec de nouveaux types de produits.
L'autre chose que j'ai considéré est l'aide d'une base de données NoSQL (probablement MongoDB) cependant j'ai peu d'expérience avec ces types de bases de données, mettra à même de résoudre mon problème?
L'examen des options:
- Unique entité de produits avec beaucoup de colonnes
- Séparer les attributs de l'entité (VAE)
- Commutateur de schéma de persistance
Je suis dans le processus de construction d'un prototype avec un des attributs de l'entité de voir comment flexible, il est, et de tester les performances et la façon dont le contrôle de l'interrogation obtient.
EDIT: je suis bien sûr ouverte à toutes les autres solutions.