Précédent   Forum des professionnels en informatique > Général Développement > Conception > Modélisation > Schéma
Schéma Modélisation Relationnelle (Dépendances Fonctionnelles, Formes Normales, Entité-relation, MCD, MPD ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 12h38   #1
Invité régulier
 
Inscription : janvier 2006
Messages : 49
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 49
Points : 5
Points : 5
Par défaut Problème de modélisation arborescente

bonjour,

Comment modeliser la situation suivante :
- J'ai des catégories
- des sous catégories
- des familles
- des produits

avec les relations suivantes :
- une categorie peut avoir 0 ou plusieurs sous categories.
- Une sous categorie peut avoir 1 ou plusieurs familles
- Une famille peut appartenir a plusieurs sous catégorie
- Un produit appartient a une et une seule famille. donc une famille peut avoir 0 ou plusieurs produits.

Donc j'ai procédé comme suit :

- la cle étrangère CategoryId dans la table SousCategory,
- la cle étrangère SousCategoryID et la cle etranger FamillyID dans une table d'association FamillyCategory

- et en fin la cle etrangere FamillyID de FamillyCategory dans la table Product


Mon probleme est la suivante :


J'ai un produit P qui appartient a la famille F, ce pendant la famille F apparteient a une categorie C qui n'a pas pas de sous categorie

Donc la famille doit etre rattache directement a la categorie.

Comment peut-on faire pour zapper la sous categorie pour ce cas particulier ?

Je pense a créer une sous-categorie DEFAULT rattache a toutes les categories et y mettre toutes les familles qui n'ont pas de sous catégorie.

Que pensez vous de ce modèle ?

Merci
gophette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 19h49   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par gophette Voir le message
- une categorie peut avoir 0 ou plusieurs sous categories.
categorie -0,n----avoir----1,1- sous-categorie

Citation:
- Une sous categorie peut avoir 1 ou plusieurs familles
- Une famille peut appartenir a plusieurs sous catégorie
categorie -0,n----avoir----1,1- sous-categorie -1,n----avoir----0,n- famille

Citation:
- Un produit appartient a une et une seule famille. donc une famille peut avoir 0 ou plusieurs produits.
categorie -0,n----avoir----1,1- sous-categorie -1,n----avoir----0,n- famille -0,n----avoir----1,1- produit

Donc j'ai procédé comme suit :
Citation:
- la cle étrangère CategoryId dans la table SousCategory,
Oui.
Citation:
- la cle étrangère SousCategoryID et la cle etranger FamillyID dans une table d'association FamillyCategory
Je dirais plutôt une table associative FamilySubCategory !

Citation:
- et en fin la cle etrangere FamillyID de FamillyCategory dans la table Product
Pas excatement. La clé étrangère référence la clé primaire de la table Family puisque l'association est entre Produit et Famille.

Citation:

Mon probleme est la suivante :


J'ai un produit P qui appartient a la famille F, ce pendant la famille F apparteient a une categorie C qui n'a pas pas de sous categorie
Tes règles de gestion de départ ne prévoyaient pas d'association directement entre les catégories et les familles !

Citation:
Donc la famille doit etre rattache directement a la categorie.

Comment peut-on faire pour zapper la sous categorie pour ce cas particulier ?
La solution serait de considérer que "catégorie" et "sous-catégorie" sont toutes des catégories et de définir seulement une hiérarchie entre certaines catégories. Comme tu n'as apparemment pas de sous-sous-catégorie, une simple table de hiérarchie suffit.

Le modèle devient celui-ci :
categorie -1,n----avoir----0,n- famille -0,n----avoir----1,1- produit
|     |
0,n  0,1
|     |
encadrer
Et voici les tables qui en découlent :
categorie (cat_id, cat_nom...)
famille (fam_id, fam_nom...)
cat_avoir_famille (caf_id_categorie, caf_id_famille)
produit (prd_id, prd_id_famille, prd_nom...)
sous_categorie (sca_id_sous_categorie, sca_id_categorie_mere)
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h53.


 
 
 
 
Partenaires

Hébergement Web