Meilleur modèle pour stocker les attributs (produit) dans SQL Server

Nous sommes au début d'un nouveau projet lorsque nous avons besoin de stocker des produits et de nombreux attributs du produit dans une base de données. La technologie de la pile est MS SQL 2008 et Entity Framework 4.0 /LINQ pour l'accès aux données.

Les produits (et les Produits de la Table) sont assez simple (un SKU, fabricant, prix, etc..). Il existe toutefois de nombreux attributs de magasin avec chaque produit (pensez industrielle widgets). Il peut s'agir de la couleur à la certification(s) à la taille du tuyau. Chaque produit peut avoir des attributs différents, et certains ont peut-être des multiples de la même attribut (Ex: Certifications).

La proposition actuelle est que l'on aura fondamentalement une paire nom/valeur de la table avec un FK retour à l'ID de produit dans chaque ligne.

Un exemple de la Table d'attributs peut ressembler à ceci:

ProdID     AttributeName     AttributeValue
123        Color             Blue
123        FittingSize       1.25
123        Certification     AS1111
123        Certification     EE2212
123        Certification     FM.3
456        Pipe              11
678        Color             Red
999        Certification     AE1111
...

Remarque: le nom de l'Attribut serait probablement venir d'une table de recherche ou enum.

De sorte que la principale question qui se pose ici est: Est-ce le meilleur modèle pour faire quelque chose comme ça? Comment la performance? Les questions seront basées sur une JOINTURE du produit et les attributs de la table, et généralement besoin de beaucoup de WHEREs de filtre sur des attributs les plus courants de recherche sera de trouver un produit basé sur un ensemble de connu/caractéristiques désirées.

Si quelqu'un a des suggestions ou un meilleur modèle pour ce type de données, s'il vous plaît laissez-moi savoir.

Merci!
-Ed

source d'informationauteur EdH