Conception base de données

[Résolu]
Signaler
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012
-
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour,
j'ai fait une conception pour ma base de données, et je vous demande si c'est bon.

Pour chaque Produit il ya un id et le nom, et aussi ce produit appartient à une categorie, et cette categorie peut contenir une sous categorie, et cette sous categorie  peut contenir une sous sous categorie.
Voilà la modelisation que j ai fait :

Produit(id_Produit,nom,id_categorie)
Categorie(id_Categorie,nom)
Sous_Categorie(id_S_Categorie,id_Categorie,nom)
Sous_Sous_Categorie(id_S_S_Categorie,id_S_Categorie,nom)

SVP dites moi si c'est bon.
Merci.

N'importe où. 
mais là où il le faut.

7 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Yop!
  Ce que je ferais plutôt c'est une table contenant toutes les catégories, et non plusieurs tables:
categories:
- id
- parent
- nom

S'il s'agit d'une catégorie parente, parent vaut NULL dans les autres cas, l'id du parent. Ce qui permet de gérer des cats à niveaux multiples sans un grand nombre de tables!

Qu'en penses tu?

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

Merci,
Donc une table Produit et une table Categorie ?.
SVP , ecris la conception un peu en detail,
Merci

N'importe où. 
mais là où il le faut.
Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
Salut,

Je me pose juste une question,
Comment faire pour savoir de quelle sous-catégorie appartient ton produit?

Vu qu'apparemment les sous-catégorie ne sont pas obligatoires, j'aurait tendance a faire :
Produit(id_produit, nom, id_categorie, id_s_categorie, id_s_s_categorie)

Mais n'y connaissant pas beaucoup en SQL, je ne sais pas ce que ca donne au niveau de l'optimisation de ta base

Bonne prog
Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
j'avais aussi penser a une solution proche de [auteurdetail.aspx?ID=18466 coockiesch] :

Produit(id_produit,nom,id_categorie)
Categorie(id_categorie,nom,id_parent) avec id_parent id_categorie de la catégorie mère, ou id_parent NULL si ce n'est pas une sous catégorie.
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

Merci pour vos reponses,
Je pense que la solution :
Produit(id_produit,nom,id_categorie)
Categorie(id_categorie,nom,id_parent)
est bonne sauf :avec id_parent id_categorie de la catégorie mère, ou id_parent 0 si ce n'est pas une sous catégorie. car le champs sera de type Integer.
c'est bon ?.
Merci

N'importe où. 
mais là où il le faut.
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
 [auteurdetail.aspx?ID=751545 lesdis]
je ne vois pas la différence entre ta solution et la mienne! :D J'ai mal regardé ou on parle de la même chose?

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,
le fait qsue le champ soit de type integer n'empêche pas de le mettre à NULL.
Mais fondamentalement, ça ne change pas grand chose, l'un ou l'autre des choix.
Et en effet, à mon avis, vous avez dit la même chose, lesdis et Raf ;-)