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

Schéma Discussion :

[Debutant] Modèlisation, agrégation avec une relation n:m


Sujet :

Schéma

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut [Debutant] Modèlisation, agrégation avec une relation n:m
    Bonjour,

    je possède une assocation entre une entité commande et une entité article.
    Les produits peuvent-être réceptionné en plusieurs fois. Chaque article peut donc être réceptionné à des dates différentes et par des utilisateurs différents.
    Au niveau modèlisation, j'ai fait:

    http://etienne.galoup.ifrance.com/MCD.JPG

    Que pensez-vous de ce MCD ?

    Comment auriez-vous fait vous-même ?

    Est-il possible d'utiliser l'agrégation dans ce type d'association ?

    Merci d'avance.
    ++

  2. #2
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    Je te propose ceci
    Scuse me while I kiss the sky ! Jimi Hendrix

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Ok je te remercie,

    mais comment savoir quand sont reçu les produits ?
    Parce que ce que tu me proposes est juste pour une commande, non ?

    Merci d'avance.
    ++

  4. #4
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    Dans l'association réception il y'a DateReception

    Remarque sur les cardinalités
    Commande (1.1) <-------------> Utilisateur (1.n)
    Scuse me while I kiss the sky ! Jimi Hendrix

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    En fait, je ne comprends pas comment savoir quand a été reçu tel référence et en quel quantité.
    Parce qu'avec le MCD que tu me proposes, la table commande est relié à l'assoc reception. Ne faudrait-il pas plutôt relier l'assoc réception à l'assoc correspondre ?

    ++

  6. #6
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    salut

    je pense qu'il te faut une association ternaire dans laquelle tu mets les trois attributs : dateReception, quantiteCommandee, quantiteRecue. Cette association relie les trois entités Commande, Produit et Utilisateur.
    Pour savoir quand un produit a ete commandé ou quand il a été livré, et apres avoir implementé ta base, tu fais une requete sur l'association => forum SQL si tu as des problemes.

    N.B. : En Merise, deux associations ne sont jamais liées... c'est incoherent.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    En Merise, deux associations ne sont jamais liées... c'est incoherent
    Je suis d'accord

  8. #8
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    En Merise, deux associations ne sont jamais liées... c'est incoherent
    Je suis d'accord avec ça, sauf que dans le cas d'une agrégation, il est possible de relier deux associations et que l'assocation central est transfomé en entité.

    je pense qu'il te faut une association ternaire dans laquelle tu mets les trois attributs : dateReception, quantiteCommandee, quantiteRecue. Cette association relie les trois entités Commande, Produit et Utilisateur
    Oui mais avec cette solution, il n'est pas possible de recevoir les produits en plusieurs fois. A moins de définir comme clé primaire composite (idCommande,idProduit,DateReception)...

    ++

  9. #9
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Citation Envoyé par etiennegaloup
    A moins de définir comme clé primaire composite (idCommande,idProduit,DateReception)...
    Oups... C'etait évident pour moi désolé
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  10. #10
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    Citation Envoyé par etiennegaloup
    En fait, je ne comprends pas comment savoir quand a été reçu tel référence et en quel quantité.
    Entité Reception(DateReception,QuantiteRecue....)

    Citation Envoyé par etiennegaloup
    Ne faudrait-il pas plutôt relier l'assoc réception à l'assoc correspondre ?
    ++
    Tou dépend de la nature des flux de ton SI

    Nota : Au niveau Comceptuel, il ne faut pas se préoccuper des futures requêtes
    Scuse me while I kiss the sky ! Jimi Hendrix

  11. #11
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Tou dépend de la nature des flux de ton SI
    Qu'est ce que le SI ?

    Entité Reception(DateReception,QuantiteRecue....)
    Oui ça j'ai bien compris, mais dans ton entité réception, il n'y a pas d'ID Produit ? Donc sans l'ID Produit comment savoir par exemple que
    le produit A de la commande a été reçu:
    Qute: 5 Date: Hier
    Qute: 10 Date: Aurjourd'hui
    Parce que le détail commande est la relation entre l'entité commande et l'entité produit.

    ++

  12. #12
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    1) SI veut dire Système d'Information

    2) Encore une fois au niveau conceptuel on ne se focalise sur les futures requêtes. Il faut juste vérifier si les règles de gestions sont respectées dans le MCD

    Citation Envoyé par etiennegaloup
    Donc sans l'ID Produit comment savoir par exemple que le produit A de la commande a été reçu
    Reception ----> Commande ----> Produit
    Scuse me while I kiss the sky ! Jimi Hendrix

  13. #13
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    2) Encore une fois au niveau conceptuel on ne se focalise sur les futures requêtes. Il faut juste vérifier si les règles de gestions sont respectées dans le MCD
    D'accord, mais si je fais le MLD de ce MCD:

    http://etienne.galoup.ifrance.com/MLDBujuman.JPG

    Puis la construction dans une base, il faut recréer une table pour faire la relation entre l'idCommande, l'idProduit, la quteRecue et la quteCde, non ?

    Je ne vois pas comment avec une requête et ce MLD en l'état retrouver les dates de réception des différents produits..

    ++

  14. #14
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    Ben dans ce cas je te suggère de mettre toutes les propriétés de l'entité Reception (DateRec, QteREc,) dans l'association Correspondre
    Scuse me while I kiss the sky ! Jimi Hendrix

  15. #15
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Ok mais tu maintiens malgrès tout toujours ta version ?

    Oui ? C'est qu'il y a un truc que je ne pige pas.

    ++

  16. #16
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    je n'ai pas version prêt à porter. Tout dépend des flux.

    Un bon de commande peut-il faire l'objet de plusieurs réceptions ? Si par exemple on commande 1000 est ce que la réception pourra se faire en plusieurs temps (de date différentes) (100 puis 500 puis 400).

    Il faut chercher le maximum de règles de gestions possibles, savoir si les commandes sont saisies en même temps que les réceptions ....
    Scuse me while I kiss the sky ! Jimi Hendrix

Discussions similaires

  1. ajout de données avec une relation N-à-N
    Par yeah_baby64 dans le forum Access
    Réponses: 3
    Dernier message: 28/07/2006, 18h19
  2. [debutant] get image avec une variable non static
    Par laguna dans le forum Langage
    Réponses: 2
    Dernier message: 06/03/2006, 15h57
  3. [debutant]fonction "split" avec une chaine comme m
    Par EpOnYmE187 dans le forum Débuter
    Réponses: 2
    Dernier message: 07/11/2005, 22h46
  4. [TTable] Pb avec une relation maitre-detail
    Par kase74 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/10/2005, 10h34
  5. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45

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