Bonjour à vous tous,
Je me posais une question au sujet de la conception d'une base de données : Une grosse table ou plusieurs petites ?
J'ai pu lire qu'il fallait privilégier "plusieurs petites"...
Pour une table "produits" il peut y avoir ces champs :
nom_produit, référence, slug, titre, ...etc et aussi un nombre "X" de critères (Critère N°1, Critère N° 2, ... etc.)
Et un nombre "X" d'autres choses...
Alors comment "voir" la chose :
Un nouvelle table (critères) avec des champs :
id, id produit, critère 1, critère 2, critère 3, etc... (Autant de champ qu'il y a de critère !?)
Puis une autre table "Autres choses" ... (Avec autant de champ qu'il y a "d'Autres choses" !?)
Ou :
id, id produit, "cle", "valeur"
Et ainsi :
1 | 1 | critère 1 | Rouge
2 | 1 | critère 2 | Plastique
3 | 1 | critère 3 | 100g
4 | 2 | critère 1 | Vert
5 | 2 | critère 2 | Bois
6 | 2 | critère 3 | 500g
...
Et pourquoi pas mettre aussi dans cette même table : les "Autres choses" au lieu de créer une nouvelle table : "Autres choses" ?
id, id produit, "cle", "valeur"
100 | 1 | prix 1 | 5.75
101 | 1 | prix 2 | 5.00
102 | 1 | prix 3 | 4.75
Dans l'absolu si ce modèle de conception est ok, je pourrais créer dans une nouvelle table "Specs" (spécificités) le libellé de toutes les spécificités d'un produit.
Ainsi dans ma table specs
id , parent, nom , ...
1 | 0 | Produits
2 | 1 | couleur
3 | 1 | matière
4 | 1 | poids
5 | 1 | prix 1
6 | 1 | prix 2
7 | 1 | prix 3
Et ainsi si je dois en ajouter par la suite (imaginons qu'un nouveau prix arrive ou critères), je pourrais le faire simplement :
id , parent, nom , ...
3251 | 1 | prix 4
Qu'en pensez vous ?
Est ce envisageable ?
Ai-je été clair ?
Merci de votre aide et temps.
Partager