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 :

congés [suggestions]


Sujet :

Schéma

  1. #1
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut congés [suggestions]
    bonjour

    je vous explique ma question:
    je suis dans la phase de la conception de MCD concernant la gestion des congés annuels d'une entreprise.
    j'ai pensé à avoir:
    une entité employé contenant les informations de ce dernier+ses coordonnées.
    une entité congé: nbre jours, date début, date_fin
    entité type congé:libelle:administratif,de naissance, de mariage.

    que pensez vous?
    pour les cardinalités entre employé et congé, je me bloque, parce que je pense que c'est relatif à la gestion de la GRH de cette entreprise.

    au final je dois créer un formulaire pour la saisie des informations de l’intéressé et de son congé.
    pour ensuite, je fais une sorte d'archivage pour chaque employé, ses congés qu'il a pris.
    est ce que je dois faire une entité d'historique.?


    je vous remercie pour votre compréhension!

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par wikiele Voir le message
    j'ai pensé à avoir:
    une entité employé contenant les informations de ce dernier+ses coordonnées.
    une entité congé: nbre jours, date début, date_fin
    entité type congé:libelle:administratif,de naissance, de mariage.
    Ça me semble un bon début.

    pour les cardinalités entre employé et congé, je me bloque, parce que je pense que c'est relatif à la gestion de la GRH de cette entreprise.
    Non, du fait qu'il y a plusieurs types de congés, un employé peut prendre plusieurs congés dans l'année donc il n'y a pas d'ambiguïté sur les cardinalités.

    pour ensuite, je fais une sorte d'archivage pour chaque employé, ses congés qu'il a pris.
    est ce que je dois faire une entité d'historique.?
    Pas nécessairement. Tu peux enregistrer tous les congés dans la même table et ce sont les requêtes, ou mieux, des vues, qui permettront de savoir quels sont les congés déjà pris sur la période de référence de congés en cours et ceux des périodes précédentes.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    je vous remercie beaucoup monsieur CinePhil.
    je vous mets ci joint le MCD.
    que pensez vous ?

    pour l'historique des congés de chaque employé, j'aurais besoin d'une table qui stocke tous,non?


    bonne journée Monsieur CinePhil
    Images attachées Images attachées  

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    En vrac au fur et à mesure que je lis le MCD...

    1) Clés auto-incrémentées
    Il faut éviter les clés qui ont une signification et qui peuvent changer tels que des numéros de matricule, des codes, des références... et préférer une clé anonyme de type entier auto-incrémenté.

    2) Entité fonctionnaire
    a) Attributs grade, echelle, echelon, anc_echelle
    Le grade sera une donnée répétitive donc il devrait être externalisé dans une entité des grades, ce qui évitera les erreurs de saisie d'un grade inexistant.
    MCD :
    fonctionnaire -1,1----avoir----0,n- grade

    Idem peut-être pour échelle. Si le grade et l'échelle sont liés, faire l'association à l'extérieur de l'entité fonctionnaire en utilisant l'identification relative. Par exemple, si ça fonctionne dans ce sens là :
    fonctionnaire -1,1----avoir----0,n- echelle -(1,1)----diviser----1,n- grade

    Idem pour échelon ? Est-il lié aux précédents quoique séparé dans la liste des attributs ?

    Idem pour anc_echelle.
    S'il s'agit d'une ancienne codification des echelles et qu'il y a correspondance entre la nouvelle et l'ancienne, faire l'association à l'extérieur de l'entité fonctionnaire

    b) Adresse
    Généralement, on la décompose en ses parties rue, code postal et ville. Et la ville, voire le code postal associé à la ville, peuvent être externalisés dans des tables de référence.
    fonctionnaire -1,1----habiter----0,n- ville

    c) attributs compte_banquaire et banque
    La langue française est pleine de pièges ! On écrit banque mais bancaire !

    La banque devrait être externalisée dans une table des banques.

    d) statut familial, genre, statut
    À externaliser, comme cela a été fait pour l'entité d'appartenance.

    3) Types des colonnes
    Le type Texte est trop vague et trop grand pour la plupart des données. Préférer le type caractère (CHAR) ou caractère variable (VARCHAR) à chaque fois que c'est possible (inférieur à 256 caractères).

    4) Entité conge
    a) Identifiant (clé)
    Pourquoi sa clé s'appelle num_decision ? Ça devrait tout simplement être num_conge ou mieux, pour qu'il n'y ait pas d'ambiguïté signifiante sur le numéro, id_conge.

    b) total_conge
    En principe, on ne stocke pas de donnée calculable. On peut avoir le total de congés pris par une requête donc cette colonne me semble inutile.

    Idem pour reliquat, ça se calcule !

    5) Pas besoin d'archive !
    Tous les congés sont stockés dans la table des congés. À moins que vous ne gériez les congés de millions de fonctionnaires, vous serez à la retraite avant de voir votre table trop grande pour poser des problèmes de performances !

    Donc l'entité historique_conge_employe et les associations enregistrer et archiver sont inutiles.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    je vous remercie infiniment monsieur CinePhil

    voila,

    je sais pas encore quand est ce qu'on utilise un champs ou une entité indépendante?
    pour les grades, ça ne suffit pas de créer une liste déroulante de tous les grades, comme ça on est sûr de la validité des saisies.
    non?

    pour la relation entre echelle, echelon et grade, je vais m'en documenter.

    pour la remarque d, mon encadrant m'a dit que ce n'est pas nécessaire de les mettre comme entité, parce que le statut familial, genre ne prennent pas beaucoup de valeurs, donc c'est pas grave si on les met dans la table fonctionnaire

    j'ai fais gaffe pour l'erreur d'hortographe=> compte bancaire, c'est mémorisé!

    merci pour la remarque sur reliquat, total j'y pas fais attention.

    pour l'id combien de caractères peuvent identifier une entité.


    pour l'entité historique, je l'ai supprimé, vous avez raison, elle a les meme champs que les 2autres entités: fonctionnaire et congé.
    donc l'entité congé peut stocké les congés ainsi que les demandeurs de congés.



  6. #6
    Membre habitué
    Homme Profil pro
    Retraité MO
    Inscrit en
    Mai 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Retraité MO
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2008
    Messages : 75
    Points : 136
    Points
    136
    Par défaut
    Bonjour.

    Juste une petite critique : les congés peuvent parfois se reporter d'une année sur l'autre. Dans mon appli j'avais donc pris l'option d'enregistrer le solde courant, ce qui m'évitait d'avoir à remonter à l'origine de l'employé pour retrouver la situ en cours. A ce moment, chaque ajout ou annul venait simplement incrémenter le solde courant, ainsi que les attributions de droits et bonus, variables selon les personnes, et qui n'étaient jamais que des types de congés particuliers négatifs.
    Ou bien, il est aussi possible d'enregistrer seulement le report initial de début de chaque année, méthode habituelle en compta, mais qui nécessite une manip spécifique de "réinitialisation" à date fixe. A ce moment, il peut être intéressant de constituer une base archive en consultation seule et séparée de la base courante, mais absolument identique de forme pour utiliser les mêmes modules de recherche.

    Autre chose : se méfier des dates de référence décalées. Il se peut que plusieurs périodes s'imbriquent : les congés annuels se calculant de Mai à Mai, et les compensations de RTT du 1er Janvier au 31 Décembre, et sans report pour ces derniers. Donc deux soldes non synchro et de règles différentes.

    Mais j'avais étendu, pour ma part, à la gestion de tous types d'absences, congés ou autres, avec stats, planning, etc... Plus complexe, et comportant d'autres contraintes

    .db.
    R.BASILE, 1971 : "Il y a mille et un procédés pour accélérer des particules. Le seul véritablement fondamental restant...le carnet de chèques."

  7. #7
    Membre habitué
    Homme Profil pro
    Retraité MO
    Inscrit en
    Mai 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Retraité MO
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2008
    Messages : 75
    Points : 136
    Points
    136
    Par défaut
    J'oubliais :
    Faudra aussi faire une base des jours de fermeture, hors des week-end. Il m'est arrivé que ce soit même des demi-jours (veille de Noël).
    Ou bien ce sera l'opérateur qui saisira le chiffre. Mais dans ce cas, il faudra l'enregistrer.

    Pendant que j'y pense : j'ai eu beaucoup de difficultés dans le calcul de l'incidence/reliquats pour les agents à temps partiel.

    .db.
    R.BASILE, 1971 : "Il y a mille et un procédés pour accélérer des particules. Le seul véritablement fondamental restant...le carnet de chèques."

  8. #8
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    je vous remercie dba01 pour ces précieuses remarques.
    j'en parlerais avec mon encadrant.

    svp ,
    pour exprimer cette association sur merise:
    le couple echelle et echelon a un seul indice.

    comment?


  9. #9
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par wikiele Voir le message
    pour exprimer cette association sur merise:
    le couple echelle et echelon a un seul indice.

    comment?
    Dit autrement :
    Un indice ne correspond qu'à un seul échelon et un seul indice.

    echelon -0,n----correspondre----1,1- indice -1,1----correspondre----0,n- echelle
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    merci monsieur CinePhil

    comme ceci?

    dans ce MCD,
    j'ai fais des associations entre corps, grade, echelle, echelon, indice

    donc la table employe aura automatiquement les valeurs de ces entités ci dessus?
    Images attachées Images attachées  

  11. #11
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    Bonjour les développeurs,

    En se basant sur ce MCD, j'ai 12relations pour le modèle relationnel,
    car 12=10entités+10relations-8CIF

    les voila:
    employe(id_employe, ...., #id_entite, #id_statut,#id_corps)

    conge(id_conge,...,#id_employe, #id_type)

    type(id_type,...)

    statut(id_statut, ....)

    entite_appartenance(id_entite, ...)

    corps(id_corps, ...)

    grade(id_grade, #id_corps,...)

    echelle(id_echelle, ...)

    grade_a_pour_echelle(#id_grade,#id_echelle )ces deux clès composent une seule clé primaire pour cette relation.

    echelon(id_echelon,...)

    echelle_a_pour_echelon(#idechelle, #id_echelon)ces deux clès composent une seule clé primaire pour cette relation.

    indice(id_indice, ...., #id_echelle, #id_echelon)

    que vous en dites?

    passez une excellente journée.

  12. #12
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    SALUT

    La table employe(id_employe, ...., #id_entite, #id_statut,#id_corps) nous permet d'avoir pour chaque employé son statut et son corps.

    Et pour avoir son grade, échelle, échelon et indice? quelle table à utiliser, ou bien mon modèle conceptuel lui manque quelque chose ?


    Assoifée à vos remarques.

    merci

  13. #13
    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 452
    Points
    19 452
    Par défaut
    Bonjour.

    Pour connaître le grade d'un employé, il suffit de créer une association comme ceci entre les deux entités concernées :

    Employé --- 1,1 --- (être gradé) --- 0,n --- Grade

    Ceci ce traduit par une clef étrangère dans la relation Employé au niveau relationnel :

    employe(id_employe, ...., #id_entite, #id_statut,#id_corps, #id_grade)

    Après pour connaître son échelle, échelon ... ceux-ci sont déjà connus grâce aux tables associatives grade_a_pour_echelle et echelle_a_pour_echelon. Il suffira de faire les jointures appropriées dans tes requêtes.

    Edit : à moins qu'il faille faire la jointure sur id_corps directement, dans ce cas ce que j'ai dit précédemment est à oublier ...

    Cordialement,
    Idriss

  14. #14
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    je vous remercie monsieur ok.Idriss

    j'ai crée une entité grade associée avec l'employé. sans oubliant que j'ai une autre entité des grades associée à l'entité corps.

    ca ne pose aucun problème ceci. vu que le grade de l'employé doit être inclut dans l'entité grade associée à l'entité corps?

    Edit : à moins qu'il faille faire la jointure sur id_corps directement, dans ce cas ce que j'ai dit précédemment est à oublier ...
    pour chercher le grade d'un employé:

    vous voulez dire que je cherche dans la table grade ( id_corps ) approprié à l'id_corps de la table employé?

  15. #15
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    SALUT

    voici le nouveau MCD

    avez vous des remarques?

    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 42
    Dernier message: 23/12/2010, 01h41
  2. Suggestion ToolKit
    Par MatP dans le forum OpenGL
    Réponses: 10
    Dernier message: 29/04/2004, 15h13
  3. [VB6] suggestion des entrés dans un combobox
    Par s.rais dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/02/2004, 15h32

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