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 :

Transformation en MLD


Sujet :

Schéma

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Transformation en MLD
    salut tt le monde
    j ai un MCD de gestion de paie et je vx le transformer au MLD
    et j ai besoin de votre aides pour passer au MLD
    et merci d avant


  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 450
    Points
    19 450
    Par défaut
    Bonsoir.

    Le plus gros de la difficulté dans la modélisation d'une bdd est la phase conceptuelle. Après il n'y a pas vraiment de difficultés à passer vers la phase relationnelle. Quelques exemples de ces règles et après je te laisse faire la suite :

    1 - Deux entités reliés par une association avec des cardinalités de type 0/1,n (0,n ou 1,n) de chaque côté : les entités deviennent des relations (équivalent à des tables) et dont les identifiants deviennent des clefs primaire. L'association devient aussi une relation dont les champs sont les données portées (s'il y en a) et les identifiants respectifs des deux entités reliés. Ceux-ci deviennent des clefs étrangères et la concaténation de ces deux clef en fait la clef primaire de cette table ...

    Exemple :

    personnel (matricule, prénom, ...)
    type_absence (intitulé_a, nbr_jour)
    s_absenter (matricule#, intitulé_a#, nbr_jour_absence, ...)

    (Les clefs primaires sont soulignées et les clefs étrangères sont suivies d'un #).

    2 - Deux entités reliés par une association dont les cardinalités sont respectivement du type 0/1,n et 0/1,1 deviennent toute deux des relations dont les identifiants deviennent des clefs primaires. L'association disparaît au profit d'une clef étrangère dans la relation porteuse de la cardinalité 0/1,1. Cette clefs étrangère est une référence à la clef primaire de l'autre relation (porteuse de la cardinalité 0/1,n).

    Exemple :
    affiliation (num_affiliation, valable_du, valable_au, commentaire)
    cotisation (intitulé_c, taux_salarial, taux_patronal, plafond_cotisation, num_affiliation#)

    Tient à ce propos dans ton entité cotisation, l'identifiant devrait être le numéro d'affiliation et non affiliation (qui sera le nom de ta table). J'ai corrigé cela dans mon exemple de MLD.

    3 - Deux entités sont reliés par une association comportant des relations de type 0/1,1 de chaque côté. Pareil que pour la règle 2 : les entités deviennent toute deux des relations dont les identifiants seront des clefs primaires. L'association disparaît au profit d'une clef étrangère dans une des deux relations (on choisit de préférence celle qui a le plus de liaison avec les autres entités mais cela devrait revenir au même). Cette clefs étrangère est une référence à la clef primaire de l'autre relation.
    Exemple :
    personnel (matricule, prénom, ..., num_c#)
    contrat (num_c, type_contrat, ...)

    Ces trois règles devrait te suffire à convertir ton MCD en MLD (puis ton MLD en SQL ).

    Cordialement,
    Idriss

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    569
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 569
    Points : 1 046
    Points
    1 046
    Par défaut
    Bonjour,

    J'ai regardé ton MCD de paie par curiosité. Il me semble qu'il a besoin d'être amélioré.

    Exemple : tu as
    personnel-(1,1)----doit avoir-----(1,1)-contrat

    Dans cette situation, cardinalité (1,1) -- (1,1), tu devrais confondre tes deux entités, ce qui ne correspond pas à une gestion rationnelle des contrats

    Si tu as un changement de contrat, un avenant, un contrat à durée déterminée avec un renouvellement, contrat d'apprentissage puis contrat de travail, etc. Devant ces différentes situations, tu procèdes comment ? Je pense que tu devrais avoir :
    personnel-(1,1)----doit avoir-----(1,n)-contrat

    Mais, un seul contrat peut être en application à un moment donné, il faut donc mettre en place une gestion temporelle des contrats
    Ensuite, pourquoi l'entité "méthode de paiement" est associée à l'entité "Contrat". Avec la remarque ci-dessus, cela ne convient plus.

    Pour le reste, j'ai regardé trop rapidement pour donner un avis.

    je te souhaite bon courage, car pour mettre en place un traitement de la paie, c'est du sport de haut niveau. Le législateur français est un champion de la complication.
    A plus

Discussions similaires

  1. [MCD] Transformation en MLD : relation (1,1)-(1,1)
    Par raton_laveur dans le forum Schéma
    Réponses: 2
    Dernier message: 18/05/2009, 15h09
  2. Transformation MCD- MLD relation binaire
    Par lylia SI dans le forum Schéma
    Réponses: 1
    Dernier message: 04/05/2007, 19h37
  3. Transformation Héritage (MCD-MLD)
    Par ngwiamfr dans le forum Schéma
    Réponses: 4
    Dernier message: 07/03/2007, 00h13
  4. Réponses: 2
    Dernier message: 17/11/2006, 17h38
  5. [DC] Transformer un MLD en Diagramme de Classes
    Par lee Mythe dans le forum Diagrammes de Classes
    Réponses: 10
    Dernier message: 07/10/2004, 13h25

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