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 :

MCD Gestion d'un magasin de vente de détails


Sujet :

Schéma

  1. #21
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 702
    Points : 2 831
    Points
    2 831
    Par défaut
    Bonsoir,
    Je trouve bizarre la façon dont Win'Design a généré le MLD au niveau de l'héritage...
    Autant je suis d'accord pour "Accessoire", autant "Chaussure" et "Textile" me posent problème : je sais que Win'Design propose la reprise dans les classes filles des rubriques de la classe mère, mais je trouve ça peu judicieux ; de plus la clé primaire ainsi proposée ne me parait pas justifiée (et représente en plus une surclé...).
    A mon avis, pour une modélisation propre et adéquat, toutes les classes filles devraient être comme "Accessoire".
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  2. #22
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 089
    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 089
    Points : 31 344
    Points
    31 344
    Billets dans le blog
    16
    Par défaut
    Bonsoir,

    Je n’avais pas regardé le MLD. Il est vrai que Nanci (RIP) présente différentes façons de traduire l’héritage dans le MLD, cf. son ouvrage Ingénierie des systèmes d'information : Merise deuxième génération (4e édition, 2001), page 251 (« Prise en compte des sous-types du MCD/MOD »).

    A son tour, WinDesign offre certainement la possibilité de choisir (comme le fait PowerAMC).

    Nino, vous avez manifestement fait le choix correspondant à la solution 2 de l’ouvrage, voire à un mix (surprenant) : il faut à tout prix vous caler totalement sur la solution 1, afin d’éviter les redondances funestes dénoncées par Paprick.

    Pour le fun :

    Chris Date dit à sa façon qu’il faut éviter ce genre de redondance, je vous renvoie au chapitre 14 “The principle of Orthogonal Design” de son ouvrage Database Design and Relational Theory - Normal Forms and All That Jazz pour mieux comprendre ce qui suit, mais attention, c’est du brutal, commencez avec du doliprane à portée de main ! :

    Etant données deux relvars (non nécessairement distinctes) R1 et R2, et la dépendance de jointure {X1, …, Xn} irréductible pour R1. Soit Xi (1 ≤ i ≤ n) et un ensemble (éventuellement vide) de noms alternatifs d’attributs sur la projection, disons, R1X de R1 sur Xi, faisant correspondre R1X à, disons, R1Y, où R1Y a le même en-tête qu’un sous-ensemble Y de l’en-tête de R2 (Y étant distinct de Xi, si R1 et R2 ne font qu’un). Soit en outre R2Y la projection de R2 sur Y. Alors Le Principe de la Modélisation Orthogonale est violé par R1 et R2 si et seulement si il existe les conditions de restriction c1 et c2 non identiquement fausses, telles que soit vérifiée la dépendance d’égalité (R1Y WHERE c1) = (R2Y WHERE c2).

    C’est clair, n’est-ce pas ?

    Paprick a noté que la clé primaire des tables CHAUSSURE et TEXTILE est une surclé qui viole le principe d’irréductibilité des clés candidates, à savoir que la clé primaire doit être seulement le singleton {ID_ARTICLE}.
    En ayant fourni la paire {ID_ARTICLE_HIER_3, ID_ARTICLE}, WinDesign a commis une erreur grossière.


    Marque d’un article :

    Il devrait y avoir une entité-type MARQUE_ARTICLE dans le MCD : elle est absente, ainsi que dans le MLD. Par contre dans le MLD, la table ARTICLE est dotée d’une clé étrangère {ID_MARQUE_ARTICLE} ! Il faut mettre en oeuvre cette entité-type et y expulser l’attribut marque_article, car à défaut la 3NF est violée (présence de la dépendance fonctionnelle irréductible {id_marque_article} → {marque_article}, cf. ici).


    Citation Envoyé par nino04 Voir le message
    je pensais qu'il n'avais pas besoin de faire référence a un client vu que l'entité fait référence a une facture_vente.
    Dans votre MCD, c’est FACTURE_VENTE qui fait référence à REGLEMENT_CLIENT : tel Dagobert, remettez ça à l’endroit ! (permutez les cardinalités). Même chose pour les règlements aux fournisseurs.

    Etant donné qu’un client peut régler en plusieurs fois, il faut effectivement prévoir un attribut pour le montant du règlement, mais nommez-le montant_reglement_client plutôt que montant_paiement_fournisseur !


    Citation Envoyé par nino04 Voir le message
    et que celle ci faisant également référence a un ou plusieurs clients
    Que nenni, une facture_vente ne se partage pas entre clients ! J’ai l’impression que vous lisez parfois les cardinalités dans le mauvais sens...


    Citation Envoyé par nino04 Voir le message
    j'ai rajouter ligne facture de cette manière pour les client je devrais surement refaire la même chose pour facture_achat
    Oui, il faudra le faire. Ceci dit, vous pouvez modéliser les choses ainsi :

    [ARTICLE]---0,N---(LIGNE_FACTURE_VENTE)---1,N---[FACTURE_VENTE]

    [ARTICLE]---0,N---(LIGNE_FACTURE_ACHAT)---1,N---[FACTURE_ACHAT]

    Où les associations sont évidemment porteuses de l’attribut quantite.


    Entité-type CARTE_FIDELITE

    Je répète : Supprimez l’attribut id_carte, sinon vous signifiez qu’un client peut avoir plus d’une carte...
    (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.

  3. #23
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 702
    Points : 2 831
    Points
    2 831
    Par défaut
    Bonsoir,
    Citation Envoyé par fsmrel Voir le message
    Il est vrai que Nanci (RIP) présente différentes façons de traduire l’héritage dans le MLD, cf. son ouvrage Ingénierie des systèmes d'information : Merise deuxième génération (4e édition, 2001), page 251 («Prise en compte des sous-types du MCD/MOD»).
    A son tour, WinDesign offre certainement la possibilité de choisir (comme le fait PowerAMC).
    Nino, vous avez manifestement fait le choix correspondant à la solution 2 de l’ouvrage, voire à un mix (surprenant) : il faut à tout prix vous caler totalement sur la solution 1, afin d’éviter les redondances funestes dénoncées par Paprick.
    J'abonde effectivement en ce sens ! D'ailleurs, malgré tout le respect que j'ai pour l'ouvrage de référence de Nanci, je ne comprends pas que cette possibilité de dupliquer les rubriques soit offerte, provoquant une redondance pour moi inacceptable...
    Il est vrai que Win'Design, PowerAMC, et peut-être d'autres, laissent le choix... Looping, pour sa part, ne le proposera jamais ! Si le concepteur souhaite cette duplication, qu'il la modélise au niveau du MCD !
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

Discussions similaires

  1. Réponses: 19
    Dernier message: 10/06/2019, 21h16
  2. mcd gestion des magasins
    Par saadiazza dans le forum Merise
    Réponses: 1
    Dernier message: 20/04/2017, 15h11
  3. mcd magasin de vente
    Par Invité dans le forum Merise
    Réponses: 10
    Dernier message: 04/01/2016, 02h52
  4. MCD Gestion des périodes de vente d'un article
    Par Architecture dans le forum Schéma
    Réponses: 1
    Dernier message: 13/02/2009, 23h36

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