IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modélisation Discussion :

Modelisation Composant /Composé [AC-2003]


Sujet :

Modélisation

  1. #1
    Membre régulier
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2010
    Messages : 142
    Points : 77
    Points
    77
    Par défaut Modelisation Composant /Composé
    Bonjour,
    Je reviens vers le forum pour demander de l'aide à propos d'une modelisation que je voudrais effectuer.

    Je voudrais savoir comment je pourrais modeliser sur une BD la reponse à la question suivant :

    Un Produit X est composé de Produit Y.
    Un Produit Y est composant de produit X et Z.

    En effect, un produit peut etre composant de plusieurs produits, et un produit X ne peut etre composé que d'un seul produit.

    Voila !
    J'ai pensé à quelques solutions alternative, qui fonctionnerait certainement, mais je souhaiterais avoir vos avis sur la question.


    Cordialement.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Bonjour,

    A priori je ferais comme une nomenclature :
    - une table des produits
    - une table des liens composant/composé

    Cette architecture permet tous les cas de figure. Ensuite les règles de ce qui est permis ou non doivent se programmer à la saisie.
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 77
    Points : 86
    Points
    86
    Par défaut
    Euh moi je vois ca autrement

    Une table produit avec id, libelle, prix,..... + un champ "composé" puisque "un produit X ne peut etre composé que d'un seul produit."
    Ce champ composé ne peut comporter que un Id de produit ( zone de liste facile a faire) ou etre null ( en fonction des règles)

    comme ca ca donnerais:
    produit | Composé
    X | Y
    Y |
    Z | Y

    le produit Y est bien le composé de X et Z
    et dans ce cas le produit Y n'a pas de composé
    c'est une relation recursive

    Je suis d'accord qu'il faut souvent sortir des données d'une table mais dans ce cas, on sais que 1 produit n'a forcément qu'un seul composant, donc pas de multicité donc pas besoin de seconde table.

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut Attention au bonhomme Null...
    Bonsoir,


    Je fais remarquer que la solution de nico84 est valide (notez la cardinalité 0..1) :



    En effet, le prédicat de la variable relationnelle COMPOSITION est le suivant, conforme non seulement à la règle de gestion proposée aminnio, mais aussi à logique bivalente classique et à la théorie relationnelle :
    Le produit ProduitComposéId est composé du produit ProduitComposantId.
    Je fais aussi observer que la structure proposée par Sandrine fait intervenir Null et n’est donc pas celle d’une relation où par définition à l’intersection d’un n-uplet et d’un attribut on a exactement une valeur et rien d’autre, or Null n’est pas une valeur mais un marqueur, ce qui fait qu’il est de facto interdit de séjour au sein des relations. Le pseudo-prédicat de cette structure est le suivant :
    Le produit ProduitComposéId est peut-être composé du produit ProduitComposantId.
    Ce qui du point de vue de la logique bivalente n’est pas possible et nécessite de s’embarquer vers les terrae incognitae de la logique trivalente (voire quadrivalente...), pleine de chausse-trapes (par exemple p SI ET SEULEMENT SI p n’est plus une tautologie, le théorème de Heath n’est plus valide, etc.), et propre à inhiber les systèmes experts des SGBD SQL...

    A cette occasion je rappelle que les auteurs de la norme SQL se sont fait piéger (et plus ou moins gentiment moquer...), en écrivant que la valeur de vérité UNKNOWN (Cf. le type BOOLEAN) et Null sont la même chose ! (Ils ont tout simplement oublié que, contrairement à Null, UNKNOWN est une valeur...)


    Accessoirement, le jour où la règle de gestion proposée par aminnio évoluera, en ce sens qu’un produit pourra être composé de plusieurs produits, dans le cas de la version de nico84 il suffira d’ajouter l’attribut ProduitComposantId dans la composition de la clé de la table COMPOSITION, d'où une maintenance pour le moins réduite.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] formulaire composé de plusieurs composants
    Par karasnake dans le forum Débuter
    Réponses: 5
    Dernier message: 05/01/2011, 11h24
  2. Réponses: 6
    Dernier message: 09/04/2010, 13h48
  3. [modelisation] Composant de composant etc
    Par ZaaN dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/10/2008, 10h15
  4. Modelisation Composant JAVA
    Par Vitorlundberg dans le forum Langage
    Réponses: 2
    Dernier message: 20/11/2007, 07h55
  5. JApplet avec J-Composants : compos. n'apparaissent pas
    Par gletare dans le forum Applets
    Réponses: 3
    Dernier message: 12/12/2005, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo