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 :

Gestion des agences


Sujet :

Schéma

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut Gestion des agences
    Bonjour,

    j'ai besoin de faire un MCD pour gérer des agences (exemple de société d'opérateur Télécoms)
    -j'ai des directions régionales, et chaque direction régionale a plusieurs agences.

    - j'ai déja une table d'agence nommée T_AGENCE qui est identifiée par COD_AGENCE. Et cette table contient toutes les agences et les directions régionales.
    - moi j'ai crée une autre table contient les directions régionales nommée T_DIR_REG identifiée par COD_DIR_REG.
    - Chaque direction régionale est dirigée par un directeur.
    - La table T_EMPLOYE contient l'ensemble des employés de la société et cette table est identifiée par MLE_EMP.

    Comment lier ces tables par un MCD et comment ça peut etre la relation entre T_AGENCE et T_DIR_REG?

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Amal4u Voir le message
    j'ai besoin de faire un MCD

    - j'ai déja une table
    Dans un MCD, il n'y a pas de tables mais des entités et des associations !


    j'ai déja une table d'agence nommée T_AGENCE qui est identifiée par COD_AGENCE
    Si ce COD_AGENCE est alphanumérique, il peut être préférable d'ajouter un identifiant anonyme de type entier.
    Voir à ce sujet l'article de SQLPro qui indique ce qu'est une bonne clé.

    comment ça peut être la relation entre T_AGENCE et T_DIR_REG ?
    ...
    chaque direction régionale a plusieurs agences
    Le MCD qui découle de la règle de gestion est simple :
    T_DIR_REG -1,n----avoir----1,1- T_AGENCE

    Quant aux employés, il faut déterminer la règle de gestion qui va préciser s'ils sont affectés à une agence et ne travailler que dans celle-ci ou à direction régionale et travailler dans plusieurs agences de la direction régionale.
    Le MCD viendra tout seul.

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par CinePhil
    Si ce COD_AGENCE est alphanumérique, il peut être préférable d'ajouter un identifiant anonyme de type entier.
    Voir à ce sujet l'article de SQLPro qui indique ce qu'est une bonne clé.
    Oui, merci pour cette information et pour l'article très interessant, pour le COD_AGENCE est un CHAR(n).


    Le MCD qui découle de la règle de gestion est simple :
    T_DIR_REG -1,n----avoir----1,1- T_AGENCE
    Alors comme ça, il faut ajouter un champ de Clé de T_DIR_REG dans T_AGENCE. mais là, la table T_AGENCE je peux pas la modifier, comment je peux faire?

    Quant aux employés, il faut déterminer la règle de gestion qui va préciser s'ils sont affectés à une agence et ne travailler que dans celle-ci ou à direction régionale et travailler dans plusieurs agences de la direction régionale.
    Le MCD viendra tout seul.
    Pour T_EMP est une table qui déja existe dans la base contient que MLE_EMP(matricule) et le nom des employés, il n y a pas d'information pour quelle agence est affectée. est ce possible de créer une relation entre T_EMP et T_AGENCE??

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Amal4u Voir le message
    le COD_AGENCE est un CHAR(n).
    Si n < 5, on peut le garder comme clef car un entier est codé sur 4 octets.


    Alors comme ça, il faut ajouter un champ de Clé de T_DIR_REG dans T_AGENCE. mais là, la table T_AGENCE je peux pas la modifier, comment je peux faire?
    On n'est plus dans le MCD là... On est les mains dans le cambouis !

    Comme tu avais dit ceci :
    - moi j'ai crée une autre table contient les directions régionales nommée T_DIR_REG identifiée par COD_DIR_REG.
    Je croyais que tu avais la main sur la structure de la BDD.

    Pour T_EMP est une table qui déja existe dans la base contient que MLE_EMP(matricule) et le nom des employés, il n y a pas d'information pour quelle agence est affectée. est ce possible de créer une relation entre T_EMP et T_AGENCE??
    La relation en MCD, oui.
    Mais si tu n'as pas la main sur la structure de la BDD...
    A quoi sert de faire un MCD que tu ne pourras pas implanter en BDD ?

    Sinon si tu ne peux que créer des tables, il faut utiliser le principe de l'identification relative pour stocker l'info dans une nouvelle table.

    Le MCD précédent :
    T_DIR_REG -1,n----avoir----1,1- T_AGENCE

    On transforme l'association 'avoir' en entité :
    T_DIR_REG -1,n----comprendre----(1,1)- T_AG_DIR_REG (1,1)----Inclure----1,1- T_AGENCE

    La règle de gestion correspondant à ce schéma devient :
    1) Une direction régionale comprend de 1 à plusieurs T_AG_DIR_REG et une T_AG_DIR_REG est comprise dans une seule direction régionale.
    2) Une T_AG_DIR_REG inclut une seule agence et une agence est incluse dans une seule T_AG_DIR_REG

    L'identification relative est indiquée par la cardinalité entre parenthèses et signifie que l'entité T_AG_DIR_REG n'a pas son identifiant propre mais récupère les identifiants des deux autres tables.
    La table est donc :
    T_AG_DIR_REG (COD_AGENCE, COD_DIR_REG)

    Processus identique pour la relation entre les employés et les agences.

  5. #5
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Si n < 5, on peut le garder comme clef car un entier est codé sur 4 octets.

    Pour n, j'ai n<5 et précisemment n = 2;



    On n'est plus dans le MCD là... On est les mains dans le cambouis !

    Comme tu avais dit ceci :

    Je croyais que tu avais la main sur la structure de la BDD.

    Pour les tables existantes, j peux pas modifier leur structure.

    La relation en MCD, oui.
    Mais si tu n'as pas la main sur la structure de la BDD...
    A quoi sert de faire un MCD que tu ne pourras pas implanter en BDD ?

    Sinon si tu ne peux que créer des tables, il faut utiliser le principe de l'identification relative pour stocker l'info dans une nouvelle table.

    Le MCD précédent :
    T_DIR_REG -1,n----avoir----1,1- T_AGENCE

    On transforme l'association 'avoir' en entité :
    T_DIR_REG -1,n----comprendre----(1,1)- T_AG_DIR_REG (1,1)----Inclure----1,1- T_AGENCE

    La règle de gestion correspondant à ce schéma devient :
    1) Une direction régionale comprend de 1 à plusieurs T_AG_DIR_REG et une T_AG_DIR_REG est comprise dans une seule direction régionale.
    2) Une T_AG_DIR_REG inclut une seule agence et une agence est incluse dans une seule T_AG_DIR_REG

    L'identification relative est indiquée par la cardinalité entre parenthèses et signifie que l'entité T_AG_DIR_REG n'a pas son identifiant propre mais récupère les identifiants des deux autres tables.
    La table est donc :
    T_AG_DIR_REG (COD_AGENCE, COD_DIR_REG)

    Processus identique pour la relation entre les employés et les agences.
    Merci pour ton aide, c'est vraiment que j'ai voulu, et que j'ai fait , mais j'ai été pas sure ( je suis débutante), merci infiniment, bonne continuation.

  6. #6
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut MCD_AG
    Bonjour,

    j'ai fait le MCD suivant d'après ce qu'on a traité avant dans cette discussion, je veux juste vos remarques, s'il ya quelques choses à ajouter ou à modifier :


    Nom : MCD_AG.JPG
Affichages : 143
Taille : 31,6 Ko

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Je ne sais pas ce que tu as utilisé pour dessiner ton MCD mais je te conseille d'utiliser un logiciel de modélisation.
    Il existe par exemple le logiciel Open Modelsphere qui est gratuit.

    Une association est formée de deux couples de cardinalités : un par branche, tel que je l'ai représenté en format texte plus haut :
    T_DIR_REG -1,n----avoir----1,1- T_AGENCE
    En ne mettant qu'un seul couple, il est difficile de voir à quelle côté du lien il s'applique :
    T-EMPLOYE -----1,1-----T_DIR_REG

    En fait, tu as plus dessiné un modèle Entity/relation à la mode MySQL Workbench (que tu peux aussi utiliser pour modéliser tes données mais il ne fait pas véritablement de MCD Merise).

    Découpons donc ton schéma...
    1) T_AGENCE -1,1----T_AG_DIR_REG----1,n- T_DIR_REG

    Ca correspond au dernier schéma que j'ai donné :
    T_DIR_REG -1,n----comprendre----(1,1)- T_AG_DIR_REG (1,1)----Inclure----1,1- T_AGENCE
    2) T_AGENCE -1,n----T_EMP_AGENCE----1,1- T_EMPLOYE
    Même philosophie que l'association précédente. Le vrai MCD serait alors celui-ci :
    T_AGENCE -1,n----Employer----(1,1)- T_EMP_AGENCE -(1,1)----Travailler----1,1- T_EMPLOYE

    3) T_EMPLOYE ----1,1----T_DIR_REG

    Comment doit-on comprendre cette association ?
    Répond-elle à la règle de gestion suivante ?
    - Chaque direction régionale est dirigée par un directeur.
    Auquel cas le MCD est le suivant :
    T_EMPLOYE -0,1----Employer----1,1- T_DIR_REG

    Ce qui entraîne effectivement l'ajout de l'identifiant de l'employé assumant la fonction de directeur dans la table T_DIR_REG.

    A noter que dans un MCD, on ne fait pas figurer les clés étrangères. Mais comme ton schéma n'est pas un MCD, on pourra dire que c'est bon.

  8. #8
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Je ne sais pas ce que tu as utilisé pour dessiner ton MCD mais je te conseille d'utiliser un logiciel de modélisation.
    Il existe par exemple le logiciel Open Modelsphere qui est gratuit.
    Je l'ai fait manuellement sur Word, merci pour l'information.


    je l'ai refait par Open Modelsphere, voici le MCD que j'ai construit:

    MCD_AGENCE.zip

  9. #9
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    Nom : MCD_AG_1.JPG
Affichages : 108
Taille : 14,1 Ko

    Voici le MCD que j'ai fait.

    j'attend vos remarques et merci.

  10. #10
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Je lis le MCD :
    T_EMPLOYE -1,1----Avoir----1,1- T_DIR_REG

    Traduction :
    Un employé n'a qu'une direction régionale et une direction régionale n'a qu'un employé.

    Riche société qui fait une direction régionale avec un seul employé !

  11. #11
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Je lis le MCD :
    T_EMPLOYE -1,1----Avoir----1,1- T_DIR_REG

    Traduction :
    Un employé n'a qu'une direction régionale et une direction régionale n'a qu'un employé.

    Riche société qui fait une direction régionale avec un seul employé !
    Non, c'est pas ça, mais juste je veux savoir le directeur de cette direction régionale, c'est à dire une direction régionale a un directeur et ce directeur a ses coordonées dans la table T_EMPLOYE, T_DIR_REG a CODE_DIR_REG comme clé primaire et MLE_EMP (pour définir le directeur).

  12. #12
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Mais tous les employés ne sont pas directeurs de direction régionale !

    Le bon schéma, et avec une meilleure sémantique, est celui-ci :

    T_EMPLOYE -0,1----Diriger----1,1- T_DIR_REG

  13. #13
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    Alors, je dois remplacer Avoir par Dirigier et les cardinalités aussi, et comme ça j'aurai un bon MCD??

  14. #14
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Ben oui !

  15. #15
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    OK, merci

    après le MCD, c'est le MLD ?

  16. #16
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Le MLD découle directement du MCD oui.

  17. #17
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    Alors, je peux discuter aussi ce sujet (MLD) ici?

  18. #18
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    Voilà le MCD final que j'ai fait:

    Nom : MCD_Final.JPG
Affichages : 119
Taille : 20,0 Ko

  19. #19
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Tu as mélangé du MCD et du MLD !
    T_Agence_Emp est une table issue de l'association entre les entités T_EMPLOYE et T_AGENCE. Elle ne doit pas apparaître dans le MCD mais seulement dans le MLD.

    Avec Open Modelsphere, tu peux générer automatiquement le MLD à partir du MCD.

  20. #20
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Après le MLD sera quoi?
    merci.

Discussions similaires

  1. [MCD] Gestion des locations d'une agence immobilière
    Par ratsmok dans le forum Schéma
    Réponses: 4
    Dernier message: 09/07/2020, 15h04
  2. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40
  3. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  4. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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