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 - Exercice débutant


Sujet :

Schéma

  1. #1
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut MCD - Exercice débutant
    Bonsoir,

    Je suis actuellement en train de faire un exercice relatif au MCD et je suis complètement bloqué... Voici l'énoncé:

    Un chauffagiste réalise actuellement des entretiens de chaudières, qui est effectué chaque année.

    1)Il souhaiterait se souvenir et informer ses clients qu'un entretien annuel est à faire l'année suivante, sur une période bien déterminée, par exemple 1 mois avant la date, 2 semaine avant qui sera automatisé par un envoie de mail et sms, le chauffagiste peut également changer la période.

    2)Le client (du chauffagiste) se présente de la manière suivante (identification du client, nom, prénom, adresses et peut-être aussi un numéro de tva si c'est une entreprise).

    3)Le chauffagiste souhaiterait aussi pouvoir identifier le type d'intervention qu'il a réalisé par exemple sur quel type de chaudière(gaz ou mazout). Il voudrait avoir connaissance de la marque de la chaudière de ses clients.

    4)Il souhaiterait pouvoir aussi avoir l'état des clients, s'ils ont refusé l'entretien ou l'on reporter.

    5)Et enfin, pouvoir exporter toute la clientèle sur un file PDF, avec les interventions réalisées chaque année, ainsi il pourra avoir une fiche complète du client lorsqu'il doit se rendre à l'entretien du client concerné.

    J'ai réussi à créer 4 tables pour le moment qu'en pensez-vous ? Je suis bloqué par rapport au système d'sms et de email comment inclure ça dans mon analyse ? Pareil pour le file PDF ?

    Voici une idée de mon analyse, je vous remercie pour vos retours j'ai vraiment envie de comprendre.


  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 126
    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 : 10 126
    Points : 38 509
    Points
    38 509
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Vous avez modélisé deux types d'entité strictement identiques : "chauffagiste" et "client" ce qui crée des redondances

    Ensuite, il faut séparer ce qui concerne les clients personnes morales d'un coté (SIREN, NIC, identifiant TVA...) et personnes physiques de l'autre (nom, prénom, date de naissance...)
    Pour cela, utilisez l'héritage

    Le choix des noms de vos relations n'est pas très judicieux, un chauffagiste ne "possède" pas de client, il intervient chez des clients.
    Il est d'ailleurs probable que ce ne soit pas toujours le même chauffagiste qui intervient chez un même client. Si c'est bien le cas, la cardinalité 1,1 coté client vers "posséder" est erronée.

    Concernant votre point n°1, ce n'est pas du ressort du modèle de données, mais du traitement.
    Il suffira d'extraire par requête les équipements dont le dernier entretien date de par exemple 11 mois.

    Dans le schéma que je vous propose ci-dessous, j'ai modélisé une entité-type "équipement" ce qui vous permet d'entretenir divers appareils, dont le type précis est connu grâce à la relation vers l'entité-type "type équipement"
    De même, j'ai externalisé dans une entité-type "media" les numéros de téléphone, de fax, les adresses courriels etc... avec là aussi un lien vers une entité-type "type média" pour en connaitre le type.
    Ce type de modélisation vous permet d'avoir zéro à plusieurs média (ex : fixe domicile, fixe bureau, portable perso, courriel pro, courriel perso...)

    Pièce jointe 420983

    Notez les différents types d'héritage :
    le premier est de type "partitionnement" (symbole P), une personne est de type "physique" ou "morale", pas les deux
    le deuxième est de type "totalité" (symbole T), j'ai supposé qu'un chauffagiste pouvait également être client, à corriger si ce n'est pas le cas

    EDIT : oops, en relisant, je vois que j'ai inversé les cardinalités de la relation "équiper" c'est bien sur 1,1 côté équipement (un équipement n'équipe qu'une et une seule personne) et 0,n (ou 1,n) coté personne (une personne peut avoir plusieurs équipements)

  3. #3
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Bonjour escartefigue,

    Je tenais à vous remercier pour le temps que vous avez consacré à mon problème et à vos explications qui m'ont permis d'avoir une approche différente.
    Il n'y a qu'un petit point que je n'ai pas encore très bien assimilé dans votre analyse c'est les deux entités média et type de média.



    Dans la table media, je dois avoir l'id, numéro gsm, numéro fixe, email privée, email pro c'est bien ça ?

    Et dans la table type média on récupère le type de numéro et d'après email c'est bien ça ?

    Aussi, que signifie le champ code ?

    Dernière petite question, où pourrais-je mettre le statut de la réparation ? Je l'aurais ajouté dans "entretien".

    En tout les cas, je vous remercie encore pour votre aide.
    Belle journée

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 126
    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 : 10 126
    Points : 38 509
    Points
    38 509
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Dans la table media, je dois avoir l'id, numéro gsm, numéro fixe, email privée, email pro c'est bien ça ?
    Surtout pas !
    Au niveau conceptuel, les attributs de l'entité-type "MEDIA" (il n'y a pas de table au niveau MCD), seront l'identifiant et le numéro, c'est à peu près tout (hors attributs techniques genre horodatage de MàJ par exemple)
    Au niveau tabulaire, vous créerez autant de ligne dans la table MEDIA issue de l'entité-type "MEDIA" qu'il y aura de numéro pour la personne. La table MEDIA contiendra la clef étrangère pointant sur la table "TYPE_MEDIA" et qui permettra de connaitre le type (fax, téléphone fixe domicile, fixe bureau, portable d'astreinte...)

    Citation Envoyé par Tamzoro Voir le message
    Aussi, que signifie le champ code ?
    Dans une base de données on ne parle pas de champ mais d'attribut ou de colonne si on est au niveau tabulaire. Les champs concernent les formulaires
    En général, dans les tables de typologie, on prévoit un code et un libellé en plus de l'identifiant.
    Ce code est souvent issu d'une norme externe (ISO pour les pays, les unités de mesure, la Poste pour les codes postaux, l'INSEE pour les codes villes etc...)
    Tout code, même si numérique, sera stocké dans un attribut de type CHAR, comme ça, si la nomenclature change (elle n'autorisait que des chiffres et elle autorise désormais des lettres), on n'impacte pas la BDD

    Citation Envoyé par Tamzoro Voir le message
    Dernière petite question, où pourrais-je mettre le statut de la réparation ? Je l'aurais ajouté dans "entretien".
    La réponse dépend de ce que signifie ce statut, pouvez vous préciser son rôle, dire si il évolue dans le temps et donner les valeurs possibles ?

  5. #5
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par escartefigue Voir le message

    La réponse dépend de ce que signifie ce statut, pouvez vous préciser son rôle, dire si il évolue dans le temps et donner les valeurs possibles ?
    Bonjour,

    Je vous en suis reconnaissant pour vos explications claires et précises. Au sujet de ma dernière question je voulais juste préciser si l'entretien s'est bien passé ou non. Il se pourrait que le technicien doit revenir une seconde fois pour régler un quelconque soucis, car il peut ne pas avoir détecté d'autres pannes.

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 126
    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 : 10 126
    Points : 38 509
    Points
    38 509
    Billets dans le blog
    9
    Par défaut
    S'il n'y a pas de gestion à date, un attribut statut suffira, à positionner effectivement dans l'entité-type "ENTRETIEN"

  7. #7
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Bonsoir escartefigue,

    Encore merci pour toutes tes explications.

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

Discussions similaires

  1. Exercice débutant sur Java
    Par neufrdb dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 31/01/2011, 09h17
  2. MCD exercice école
    Par spinaroony dans le forum Modélisation
    Réponses: 0
    Dernier message: 02/01/2011, 13h06
  3. Problème Exercice Débutant
    Par nanoute dans le forum C
    Réponses: 34
    Dernier message: 19/05/2007, 17h14
  4. Shell exercice débutant
    Par Larffas dans le forum Windows
    Réponses: 1
    Dernier message: 17/01/2007, 10h05

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