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
![]()
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
![]()
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
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
Partager