Salut,
La solution la plus générique et qui s'adapte à tout serait de faire une table produits contenant l'idProduit, le prix et le nom, et une table options contenant l'idOption, idProduit, typeOption et valeurOption.
Avec une telle architecture : peu importe le nombre d'options possibles (et le nombre de produits auxquels elles s'appliquent) : tu crée une ligne par option/produit.
Du style : tu as le produit stylo qui peut avoir une couleur différente alors ca te donne :
INSERT INTO produits (idProduit, prix, nom) VALUES (1, 10, 'stylo rouge')
INSERT INTO produits (idProduit, prix, nom) VALUES (2, 11, 'stylo bleu')
INSERT INTO options (idOptions, idProduit, typeOption, valeurOption) VALUES (1, 1, 'couleur', 'rouge')
INSERT INTO options (idOptions, idProduit, typeOption, valeurOption) VALUES (2, 2, 'couleur', 'bleu')
Maintenant, tu as le produit voiture qui peut avoir comme option une couleur, un nombre de siège, un nombre de porte, alors ca te donne :
INSERT INTO produits (idProduit, prix, nom) VALUES (3, 10000, 'renault scenic')
INSERT INTO produits (idProduit, prix, nom) VALUES (4, 11000, 'fiat punto')
INSERT INTO options (idOptions, idProduit, typeOption, valeurOption) VALUES (3, 3, 'couleur', 'rouge')
INSERT INTO options (idOptions, idProduit, typeOption, valeurOption) VALUES (4, 3, 'nbSieges', '5')
INSERT INTO options (idOptions, idProduit, typeOption, valeurOption) VALUES (5, 3, 'nbPortes', '5')
INSERT INTO options (idOptions, idProduit, typeOption, valeurOption) VALUES (6, 4, 'couleur', 'noir')
INSERT INTO options (idOptions, idProduit, typeOption, valeurOption) VALUES (7, 4, 'nbSieges', '4')
INSERT INTO options (idOptions, idProduit, typeOption, valeurOption) VALUES (8, 4, 'nbPortes', '3')
Tu as ainsi une architecture optimisée pour le stockage des données (par de champs vide, pas de données redondante).
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement