begin process at 2012 05 29 00:55:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

dates


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

dates

mercredi 27 juin 2007 à 00:45:23 | dates

ahlem_o

slt, le problème est le suivant a une date donnée un employé put occuper une position onnée cad soit présent abscen en congé etc pou formuler mon mcd j'ai du mal esce que sela est juste:
employé(mat, nom , prenom, date_naissance) ou mat= clé primaire
date(date) date=clé primaire
date-employe(date,mat,position) date+mat=clés primaires
puis a chaque insertion parceque j'aurer a remplir un fomilaire je met insert into date-employe value ... ou vous aver une autre idée svp aider moi merci d'avance
mardi 3 juillet 2007 à 07:15:52 | Re : dates

coucou747

Administrateur CodeS-SourceS
Salut

mat correspond a quoi ?

moi j'aurais fait une table employe, et une table etats_jours ou j'aurais mis ces choses : abscences, deplacements, maladies, cones, ...


une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
jeudi 26 juillet 2007 à 00:23:44 | Re : dates

rethenor

A ta place, je modéliserais de cette façon:

Tables:
employe(matricule, nom, prenom, date_naiss, etc...) PK=matricule
positions(idpos, libelle)  PK=idpos   //1=présent, 2=congé, 3=...
etre(matricule,idpos,date) PK=(matricule,idpos,date)

PK = Primary Key
NB: Dans la table "etre" (dans telle position) les trois champs ensemble sont PK. Si tu ne mets que matricule+date, cela voudrait dire qu'il pourrait y avoir un matricule (un employé) à une date donnée sans position administrative (présence, congé, ...)

A la saisie 1 formulaire pour saisir 3 infos:
-l'employé (liste déroulante)
-la position (liste déroulante)
-la date (zone de saisie)

Le script de traitement récupère les 2 identifiants + la date saisie pour alimenter la table "etre"

J'espère avoir été clair... :o)

jeudi 26 juillet 2007 à 11:14:04 | Re : dates

rethenor

Complément au précédent post...

+-----------+ 1,n    ------    0,n +-----------+
EMPLOYES +-------( ETRE )-------+ POSITIONS |
+-----------+        ------        +-----------+
| matricule |           |          | idpos     |
| nom       |           |0,n       | libelle   |
| prenom    |       +-------+      +-----------+
| datenaiss |       | DATES |
| etc...    |       +-------+
+-----------+       | date  |
                    +-------+

Tu as trois objets Merise (EMPLOYES, POSITIONS, DATES) reliés entre eux par une relation (ETRE). Chaque objet a son identifiant (matricule, date, idpos).

Si la relation avait été une-aire (au moins une cmax à 1), il n'y aurait pas eu de création de table mais une migration (l'objet de cmax à 1, récupère en plus de ses champs, les identifiants des objets reliés).

Mais ici la relation étant n-aire (toutes les cmax sont à n) la relation ETRE deviendra une table. L'identifiant d'une relation est obtenu par la concatenation des identifiants de chacun des objets participant à la relation. L'identifiant de la table ETRE sera donc (matricule,date,idpos). Elle pourra, éventuellement, comporter d'autres champs (non clefs primaires) qu'on appellera des propriétés portées par la relation et qui pourrait être par exemple dans ce cas de gestion et si c'était à gérer : un champ "reference" (référence, pièce justifiant éventuellement la position : Demande de congé n° 142, Certificat médical d'arrêt de travail du Dr Martin, ASA pour cause de décès: certificat de décès du 18/06/2007

Les tables seront donc les suivantes :
PERSONNELS(matricule, nom, prenom, date_naiss, ...)
POSITIONS(idpos, libelle)
ETRE(matricule, date, idpos, reference)

Dans ce cas précis, la date, bien qu'objet Merise, Ne donnera pas lieu à la création d'une table.

En effet, lorsqu'on connait l'identifiant d'un objet, on peut accéder aux autres propriétés. (ex: Si je viens dans la table ETRE relever un matricule, une fois muni de celui-ci, je peux retrouver l'enregistrement dans la table PERSONNELS et accéder à ses autres propriétés : le nom, le prénom, la date de naissance, etc...

Mais si je récupère le champ date dans la table ETRE, le fait d'être muni de cet identifiant ne permettra jamais d'accéder à d'autres propriétés car la seule information qui serait contenue dans la table DATES serait justement et seulement la date et que celle-ci est déjà présente dans la relation ETRE.

La table DATES ne sera donc pas crée mais doit être présente sur le MCD pour rappeler que le date doit faire partie de l'identifiant de la relation.

En fait, faire ça en 3 tables seulement, c'est assez cool... et pas la prise de tête...


Cette discussion est classée dans : date, position, dates, employé, mat


Répondre à ce message

Sujets en rapport avec ce message

Comparaison de date [ par benett ] Bonjour à tous,Comment peut-on comparer 2 dates et extraire la différences en jours.Ces 2 dates sont encodées via un formulaire au format aaaa/aa/aa.C Test de valeurs entre 2 dates [ par mfaraday ] BonjourJe souhaiterai tester si une date se trouve bien entre deux dates butoirs. Ne m'y connaissant que moyennement, je pensais m'orienter vers times Nombres de jours entre 2 dates! [ par jimmy69 ] Bonjour a tous,Voila j'ai un p'tit stress ....si quelqu'un pouvait m'aider!En fait j'enregistre mes donnees ds une table mysql , des donnees comme le Formulaire php passage de valeur [ par quickynico ] j'ai un formulaire qui se présente de cette façon:libellé datelib1 10/06/1995lib2 25/08/1999... ...j'ai N ligne sur lesquel uniquement la date Gestion de dates [ par tryoruda ] SalutJe souhaite quelques tuyaux pour gérer les dates :- un formulaire avec choix du jour / du mois / de l'année envoie vers un seul champ Mysql date- Comparer des dates [ par Blondy ] Je voudrais comparer des dates pour savoir quel fichier est le plus vieux... Mais lorsque je crée une date avec date("dmy"); par exemple, ça me crée q connaitre les jours entre deux dates [ par nikos283 ] Bonjour,J'aimerai ecrire un petit script pour connaitres quels sont les jours entre deux date.Pars exemple je rentre en date de debut le 07/03/2004 et Date avant 1970. [ par ckoo ] Bonjour tout le monde.Voila le pbl :je fais une appli avec gestion des utilisateurs. On peut saisir leur date de naissance. Quand on enregistre la dat calcul fait sue des dates [ par loicba ] Bonjourje cherche a faire un calcul sur une date ( date courante + 7 jours) et je cherche comment controlé si un date courante est plus grande que la Probleme de décrémentation de dates !! Comment faire ??? [ par fredericmaill ] Salut !!!!!j"aurais une question :comment effectuer une decrementation de date a partir d'une date de depart ?je m'esplique, j'ai un tableau  qui comp


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales