1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 5
    Points : 2
    Points
    2

    Par défaut Un exercice, plusieurs réponses : vos avis?

    Bonjour,
    j'ai été confronté à un exercice de réalisation de MCD pour le quel je ne suis pas tout à faire sûr de ma réponse.
    Le choix reviendra bien sûr au correcteur et à son niveau d'exigence mais je serais intéressé par votre avis.

    Voici l’énoncé :
    La société *** souhaite mettre en place un système d’informations pour suivre la gestion des commandes et des livraisons de produits achetés sur son site internet.
    Les produits sont ensuite livrés par Chaque fournisseur aux clients.
    • Un produit est caractérisé par un n° de produit, un libellé et un prix
    • Un fournisseur est caractérisé par un n° de fournisseur, un nom de fournisseur et des coordonnées postales et téléphoniques.
    • Un client est caractérisé par un N° de client, un nom de client et des coordonnées postales et téléphoniques
    • Une commande est caractérisée par un n° de commande, une date, un ensemble de lignes de commandes comportant des n° de produits et des quantités.
    • Les clients passent des commandes de produits.
    • Les fournisseurs livrent des produits.
    Voici une correction fournie :
    Nom : corrmcd.png
Affichages : 66
Taille : 31,9 Ko

    Voici ce que j'ai fais :
    Nom : ss (2017-04-26 at 02.45.12).png
Affichages : 64
Taille : 10,2 Ko

    Déjà, voyez vous une FAUTE, vraiment quelque chose qui soit objectivement faux ?

    Je me demande si il était nécessaire de rajouter une caractéristique à l'entité commande, par rapport à la phrase "Une commande est caractérisée par [...] un ensemble de lignes de commandes comportant des n° de produits et des quantités" de l’énoncé, mais ca me parait inutile

    En sois je pense pas que mon association livrer sois fausse, peut être inutile... ? Est-ce une "faute" ?

    C'est dommage, je me dis avec le recul qu'une simple caractéristique "numéro de suivi" aurait suffit à justifier la présence de cette association

    Et sinon, un ami a fait le même modèle que moi, sauf que l'association LIVRER est entre produit et client
    Je pense pas que ca soit faux si c'est justifier correctement (on avait ensuite à justifier par une phrase chacune des cardinalités, donc à exposer notre logique), mais son modèle ramènerais à dire que chaque produit est livré individuellement...? Un peu étonnant

    Merci d'avance,
    en vous souhaitant une agréable journée

  2. #2
    Expert confirmé
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    2 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 2 585
    Points : 5 757
    Points
    5 757

    Par défaut

    Bonjour,

    L'énoncé laisse des points d'ombre, et du coup plusieurs interprétations sont possibles.

    Par exemple, la phrase "les fournisseurs livrent des produits" n'indique pas à qui ces fournisseurs livrent.
    Vous avez supposé que c'est au client, pourquoi pas mais c'est inhabituel, le correcteur n'a pas modélisé ce point.
    Le plus souvent, les produits ne sont pas livrés au client final, mais à la société (l'un de ses entrepôts) auprès de laquelle le client a passé commande.

    Ni vous, ni le correcteur n'avez modélisé la société, c'est pourtant bien un acteur de votre énoncé.

    Une faute extrêmement courante que vous avez commise, et plus grave, le correcteur aussi, c'est d'inclure les attributs liés à l'adresse et aux n° de téléphone dans l'entité client et fournisseur
    La bonne façon de modéliser est la suivante
    CLIENT 0,n --- Posseder --- 1,1 ADRESSE 1,1 --- TyperA --- 0,n TYPE_ADRESSE
    CLIENT 0,n --- Communiquer --- 1,1 MEDIA 1,1 --- TyperM --- 0,n TYPE_MEDIA

    Ainsi, un client ou un fournisseur peuvent avoir plusieurs adresses (de livraison, de facturation, du siège, de la comptabilité, etc...) et plusieurs média (portable pro, portable privé, fixe pro, fixe domicile, fax etc...)
    Même si aujourd'hui vous n'avez besoin que d'un téléphone et une adresse, prenez l'habitude de modéliser avec rigueur, comme ça vous n'aurez pas besoin de modifier votre base de données le jour où le besoin évoluera et qu'il faudra stocker plusieurs adresses ou téléphones.

    Concernant la relation entre commande et produit, la modélisation ad'hoc est la suivante :
    COMMANDE 1,n --- Contenir --- 1,1 LIGNE_COMMANDE 1,1 --- Concerner --- 0,n PRODUIT

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    Bonjour escartefigue et merci beaucoup pour votre aide !

    Bien qu'effectivement très inhabituel et un peu tordu, les fournisseurs livrent directement les clients, comme indiqué dans la deuxième ligne de l’énoncé
    Ainsi, je ne vois pas où pourrait être placée l'entité correspondant à la société. Je pense qu'il faut simplement la voir comme l'éditrice du système.


    Merci de votre conseil pour l'adresse et le numéro de téléphone, c'est en effet bien avisé à la création d'un système qui est voué à exister, mais je ne suis pas très étonné de cette omission dans la correction : le niveau de cette épreuve est assez basse et purement théorique.

    J'avais d'ailleurs précisé dans ma réponse que l'on pouvait également concevoir, dans le cas d'un système composé d'un grand nombre de membres, de créer une entité ville, et donc remplacé adresse par numéro et nom de voie (bien sûr, c'est dans l'idée où l'on n'est pas très rigoureux et que l'on ne fait pas comme vous me l'avez indiqué )

    Votre méthode pour faire le lien entre commande et produit me parait en effet une bonne idée. Je ne suis pas étonné, encore une fois, que vu le niveau de l'épreuve, le correcteur n'ai pas fait ainsi, mais il est vrai que sans cela, la phrase "Une commande est caractérisée par [...] un ensemble de lignes de commandes comportant des n° de produits et des quantités" reste un peu sans "réponse". Je me demande si ce n'est pas simplement pour illustrer la relation à caractéristique...

    En tous cas, une question qui me posais un peu problème : dans l'hypothèse que le fournisseur livre directement le client, bien que l'association LIVRER soit inutile (le lien est fait par le reste du modèle, me semble-t-il), le modèle est-il rendu faux par sa forme de boucle ?
    Ma question est peut être peu pertinente dans le contexte de modélisation de bases de données et si c'est le cas, je m'en excuse, mais j'ai appris à faire ca sans même évoquer la réalité informatique du modèle, donc j'ai parfois du mal à bien visualiser les conséquences ....

    Bonne soirée, et encore merci!

  4. #4
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    16 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 16 848
    Points : 39 115
    Points
    39 115

    Par défaut

    Votre proposition de modèle n'est pas bon car vous avez un cycle.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    août 2007
    Messages
    780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : août 2007
    Messages : 780
    Points : 1 912
    Points
    1 912

    Par défaut

    Bonjour à tous,

    Citation Envoyé par SQLpro Voir le message
    Votre proposition de modèle n'est pas bon car vous avez un cycle.
    Désolé de te contredire Frédéric, mais le MCD proposé par Dv4pp ne contient pas de cycle.


    J'en profite pour éclaircir cette notion de cycle souvent mal enseignée et donc souvent confuse dans l'esprit des concepteurs.

    Ce n'est pas parce qu'un MCD comme celui de Dv4pp présente une boucle qu'il s'agit d'un cycle. Pour simplifier, prenons un exemple théorique avec trois entités A, B et C :

    [A]--1,1----( )----0,n->[B]--1,1----( )----0,n->[C]--1,1----( )----0,n->[A]

    Ca, c'est un cycle.
    Quelle incidence sur le modèle ?
    Dans la branche bleue, une occurrence de C peut être liée à plusieurs occurrences de B, chacune d'elles peuvant être liée à plusieurs occurrences de A. Donc, en résumé, une occurrence de C peut être liée à plusieurs occurrences de A. Or, la branche rouge dit le contraire : une occurrence de C n'est liée qu'à une seule occurrence de A. Cette contradiction rend le modèle incohérent. La base de données qui en serait issue ne garantirait pas l'intégrité des données.

    Trouvons-nous un cycle dans le MCD de Dv4pp ? Pour le savoir, il faut faire apparaitre les dépendances fonctionnelles. Au préalable, il faut dire que l'association Contenir (par exemple) contient deux DF dites "triviales" (en rouge ci-dessous) vers chacune des entités qu'elle associe : Commande et Produit. Donc les DF de ce MCD sont :

    Contenir -> Commande -> Client
    Contenir -> Produit -> Fournisseur
    Livrer -> Client
    Livrer -> Fournisseur

    Il n'y a aucun cycle dans ce MCD.
    Modérateur du forum Schéma

    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

Discussions similaires

  1. Comparatif des hébergeurs payants : Vos avis
    Par RideKick dans le forum Hébergement
    Réponses: 346
    Dernier message: 12/03/2017, 10h47
  2. [LIVRES] Vos avis nous intéressent !
    Par Maxence HUBICHE dans le forum Livres
    Réponses: 21
    Dernier message: 30/01/2013, 17h33
  3. [exercice] Donnez-moi vos avis sur mon code
    Par loukiluk dans le forum C++
    Réponses: 19
    Dernier message: 17/05/2012, 19h21
  4. [Livres/Références] Vos avis..
    Par Deepin dans le forum Livres
    Réponses: 6
    Dernier message: 25/07/2005, 19h31

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