|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() futur développeur Inscription : janvier 2010 Messages : 135 ![]() |
Bonjour,
j'ai une table MISSION(id_mission, destination, moyen_transport, date_depart, date_retour, num_ordre, # id_employe, date_ordre_mission, objet). cette table va enregistrer les missions ainsi que leurs numéros d'ordre. après avoir effectué la mission, l'employé doit mentionner l'heure de depart et l'heure de retour afin de calculer l’indemnité pour chaque entrée de la table MISSION, cette indemnité est en fonction de nombre_jour(=date_retour-départ), d'un taux de base(qui est en relation avec le grade,echelle,echellon, indice de l’intéressé). je dois au final afficher la valeur de l'indemnité pour une mission donnée, ainsi que l'heure de départ et l'heure de retour et le taux de base appliqué pour calculer l'indemnité. est ce que j'enregistre dans la table MISSION: la valeur de l'indemnité et le taux de base appliqué. ces 2données seront vide quand on enregistre une entré dans la table MISSION, mais après avoir reçu une fiche de l’intéressé précisant l'heure de départ et l'heure d'arrivée , je fais un UPDATE sur la mission qui a un tel num_ordre. c'est ce numéro qui va identifier une mission des autres. pourriez vous m'aider s'il vous plait? merci |
|
|
00
|
|
|
#2 | |
![]() ![]() |
Citation:
mission -0,1----avoir----(1,1)- indemnite Quelles propriétés mettre dans l'entité type "indemnite" ? Si j'ai bien compris, l'indemnité se calcule en fonction d'une heure de départ, d'une heure de retour et d'un taux de base. L'heure de départ et l'heure de retour sont des propriétés inhérentes à la mission mais n'existant qu'une fois qu'on en vient à calculer l'indemnité après que la mission soit terminée. Il ne faut donc pas, toujours pour éviter de voir revenir le bonhomme NULL, mettre ces propriétés dans l'entité type "mission" mais dans l'entité type "indemnite". Quant au taux de base, j'imagine que celui-ci peut évoluer au cours du temps mais qu'il reste fixe pendant une certaine période. Je préconiserais d'externaliser les taux dans une autre entité type et de l'associer à "indemnite" : mission -0,1----avoir----(1,1)- indemnite -1,1----appliquer----0,n- taux Les tables qui découlent de tout ça : mission (id_mission, destination, moyen_transport, num_ordre, # id_employe, date_ordre_mission, objet) taux (tx_id, tx_date_début, tx_montant) indemnite (idm_id_mission, idm_id_taux, idm_heure_depart, idm_heure_retour) J'ai laissé dans la table "mission" les colonnes que tu avais indiquées, sauf les dates de départ et de retour, mais je trouve que tu devrais aussi externaliser le moyen de transport, voire la destination, qui sont des données répétitives sur plusieurs missions.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() futur développeur Inscription : janvier 2010 Messages : 135 ![]() |
j'ai bien compris les relations entre ces 3 entités:mission, indemnité et taux. pour l'entité indemnité elle va contenir 2clés étrangères: # id_mission et # id_taux. et pour les 2 propriétés date_debut et date_retour, est ce que je peux les mettre dans l'entité mission, parce qu'elles doivent être figuré dans un imprimé. pour le calcul de l'indemnité, j'aurais besoin de taux qui, à son tour, est déterminé selon la situation de l'interessé, c'est à dire, pour chaque grade x echelle x et echelon x et indice x, on a un taux. et cette indemnité depend aussi de nombre de jours((=date_retour-date_depart)+1 ) donc obligé d'enregistrer date_debut et date_retour dans Mission. et l'entité taux depend de grade,echelle, indice. est ce que je dois la lier à ces dernières entités. sachant que pour 5situations (de grade, echelle, echelon, indice) on a 5taux. comment exprimer ceci? merci |
|
|
00
|
|
|
#4 | ||
![]() ![]() |
Citation:
Ensuite, le fait que ces dates doivent figurer sur un imprimé n'a pas d'influence sur le modèle de données car on doit toujours pouvoir interroger la BDD pour obtenir les informations souhaitées. Citation:
Bon courage pour la suite !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() futur développeur Inscription : janvier 2010 Messages : 135 ![]() |
Bonjour CinePhil,
voila, ce que j'ai conçu: employe(0,n)<-----se_charger------->(1,1)mission mission(1,1)<------ avoir ----------> (1,1)indemnite indemnite(1,1)<--------appliquer-------->(1,n)Taux_de_base Taux_de_base(1,n)<------correspondre---->(1,1)triple_echelle_echelon_indice mission(id_mission, destination, date_D_prevue, date_R_prevu, objet, nbre_jours, #id_employe) indemnite(id_indemnite, date_D_reelle, date_R_reelle, heure_D_reelle, heure_R_reelle, nbre_taux, # id_taux_de_base) taux_de_base_applique(id_taux, valeur1_taux, valeur2_taux) triple_echelle_echelon,indice(id_triple, num_echelle, num_echelon, num_indice, #id_taux) les étapes: un employé est chargé d'une mission on lui donne un ordre de mission indiquant les dates: D et R, la destination, l'objet la mission est faite, on concoit une fiche qui indique la somme de l'indemnite offerte pour la mission, cette fiche indique le taux de base appliqué pour calculer la somme, le nbre de taux, l'heure depart et d'arrivée,et la destination. ce taux est relatif à la situation de l'employe, c'est à dire pour chaque tripe(echelle, echelon, indice) on a un taux bien determiné. pour cela on vérifie la situation de cet employe qui est enregistrée dans l'entite situation_prof(id_situation, #id_employe, #id_grade, #id_echelle, #id_echelon, #id_indice) si son echelle,echelle, indice correspond à un triple de l'entité triple_echelle_echelon_indice, on aura la valeur de taux de base appliqué (=valeur1 si nbre_jour de la mission<=15j et =valeur2 si nbre_jours de la mission>=16j) donc on peut calculer donc l'indemnite on fonction de taux de base et le nbre de taux. tout me semble bien ! espérant! que vous en dites CinePhil? merci |
|
|
00
|
|
|
#6 | |||||||||
![]() ![]() |
Citation:
Citation:
Citation:
mission(0,1)<------ avoir ----------> (1,1)indemnite Citation:
Citation:
Citation:
Citation:
J'aurais mis un simple date_heure_depart et date_heure_retour plutôt que 4 colonnes. Et puisque l'indemnité dépend directement de la mission, on pourrait identifier relativement l'indemnité à la mission, si une mission n'a bien spur toujours qu'un seul employé et une seule indemnité. Dans ce cas, je mettrais directement la clé étrangère référençant la mission en tant que clé primaire. Citation:
Citation:
Ça me semble cohérent dans l'ensemble.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||||||||
|
00
|
Copyright © 2000-2012 - www.developpez.com