Page 1 sur 2

[Tables] BDD Pour Gérer Demandes D'Emploi (aide)

Posté : 23 août 2005, 19:33
par Big O
Salut à tous !

Voilà mon problème.. je suis en stage dans une banque et il m'a été confié de modéliser une base de donnée chargée de gérer les demandes d'emplois recues. La base doit permettre au service de consulter et d'éditer les états ci-après : 1-liste des demandeurs d'emploi en fonction de l'age, du poste sollicité, des diplomes, du profil....2-liste de tous les demandeurs d'emploi toutes catégories confondues

Précision: pour une demande d'emploi, il faut un cv, une lettre de motivation, des infos sur le demandeur genre nom,prenom,age,années d'experiences...,les photocopies des attestations de formation/stage & des diplomes

J'aimerais avoir des idées de tables à creer

Voici ce que moi j'ai déjà créé comme table :

DEMANDEUR : [Id_demandeur* , Nom, Prenom, ID_nationalité, id_Sexe, DatNaiss, DatDepot, Adress, RefCV ]

TABLECV [RefCV*, id_Profil, id_PostePostule]

DIPLOME[Id_demandeur*, RefCv*, DiplomeObt, LieuObtDiplom, AnneeObtDip]

PIECEJOINTES [Id_demandeur*,RefCV*, CopieDiplome, CopieAttStage, CopieAttFormation ]

NATIONALITE [ID_nationalite*, libellenat]

PROFIL [id_Profil, libelleprofil]

SEXE [id_Sexe*, libellesex]


Détail:
CopieAttStage => j'y met les références des photocopies des attestations de stage du demandeur
CopieAttFormation => réference des photocopies des attestation de formation
CopieDiplome => référence des photocpies des diplomes obtenus
Profil => ca peut etre une liste déroulante pour choisir l'un des profils (cadre supérieur, cadre moyen, secrétaire, chauffeur, agent de sécurité, pupitreur...)
LieuObtDiplom => pour préciser écoles, universités, pays où le diplome a été obtenu

Je sais que c'est loin de la perfection. Des idées d'amélioration seraient les bienvenues , dans la création des tables, le choix des clés primaires :wink:

Posté : 23 août 2005, 19:45
par felixphp
NATIONALITE [ID_nationalite*, libellenat]

PROFIL [id_Profil, libelleprofil]

SEXE [id_Sexe*, libellesex]

DEMANDEUR : [Id_demandeur* , Nom, Prenom, ID_nationalité, id_Sexe, DatNaiss, DatDepot, Adress, RefCV ]
pourquoi ne pas faire plutot :

DEMANDEUR : [Id_demandeur* , Nom, Prenom, libellenat, libellesexe, libelleprofil, DatNaiss, DatDepot, Adress, RefCV ]

Posté : 23 août 2005, 21:54
par iclo
Pour Felixphp, si par exemple on a une série de profif type qui sont attribués aux personnes (par exemple 5 qui seraient attribuées en fonctions de certains critères) il vaut mieux avoir une table séparé pour ne stocker qu'une seule fois un profil, ça limite le volume de la Db, simplifie les modifications des libellés de profif, et surtout ça simplifie l'exploitation des données (par select) (Surtout pour faire un formulaire de recherche multi-critère)

Big O :

un diplome est lié à un cv ? Je suis pas sûr de bien comprendre ce point si tu peux préciser

Pour les clé primaires, ce sont souvent les id aut-incrementés qui seront
utilisés

Difficile de t'aider plus sans mieux connaitre le sujet.
Si tu as un problême spécifique et que tu veux qu'on t'aide dessus, donnes nous un maximum de détails, c'est la seule façon de faire un choix judicieux

Posté : 24 août 2005, 10:20
par Invité
Merci pour les réponses jusque là...
un diplome est lié à un cv ? Je suis pas sûr de bien comprendre ce point si tu peux préciser

Pour les clé primaires, ce sont souvent les id aut-incrementés qui seront
utilisés
Non non, un diplome n'est pas forcément lié à un cv; plusieurs demandeurs peuvent avoir les mêmes diplomes (genre un deug en ci, un master en ca...tu vois?) :!:

1- Au niveau de mes tables, vous trouvez que j'ai d'autres modifications à apporter, ou créer de nouvelles tables pour rendre la base facilement exploitable?
2- Comme vs devez le constater, j'ai créé une table PiècesJointes pour qu'à partir de la tableCv, on puisse savoir si le demandeur a joint des pièces (photocopies de ses diplomes et pièces justificatives). Mais là, j'sais pas si j'ai fait un bon choix des clés primaires dans la table PieceJointes..

Conseils et aides attendus :wink:

Posté : 24 août 2005, 10:23
par iclo
Dans la table diplome tu as un champ RefCv ?

Posté : 24 août 2005, 10:24
par Big O
oops j'ai oublié d me connecter..^^ sorry c pas invité, mais big o ds le msge précédent..

Posté : 24 août 2005, 10:31
par Big O
Dans la table diplome tu as un champ RefCv ?
Bien sur, voilà :
DIPLOME[Id_demandeur*, RefCv*, DiplomeObt, LieuObtDiplom, AnneeObtDip]

Autres apports ? :wink:

Posté : 25 août 2005, 09:39
par Big O
Voici ma nouvelle modélisation après amélioration:

DEMANDEUR [id_demandeur*, nom, prenom, id_nationalite, id_sexe, datnaiss, datdepot, datsaisie, adress, refcv]

NATIONALITE [id_nationalite*, libellenat]

TABLECV [refcv*, id_profil, id_poste, anneediplome, diplomeobt, lieudiplome]

PROFIL [id_profil*, libelleprofil]

SEXE [id_sexe*, libellesexe]

PIECESJOINTES [id_demandeur*, refcv*, numattformation, numattstage, numdiplome]

POSTE [id_poste*, libelleposte]

Ma difficulté à ce niveau se situe maintenant à la création de table et relations permettant d'insérer les Expériences professionnelles du demandeur :?: :( Je me disais que je devrais p-e mettre ca dans la table TABLECV..mais euh..chais pa tro koi
Autre chose, comment connaitre le nombre d'années d'expérience? Serait-ce un champ calculé à l'aide d'une fonction?
Autant de questions dont les réponses me déblokerait surement

Posté : 25 août 2005, 09:47
par Cyrano
:idea: Peut-être bien qu'une Entité "EXPERIENCE" avec comme propriétés exp_id, exp_debut, exp_fin, exp_type, exp_entreprise serait une base :
L'idée, c'est que dans le type, tu pourrais noter "emploi", "stage", contrat de qualif" etc.. : avec les dates de début et de fin, tu auras les éléments pour calculer l'expérience réelle. Ça te permettrait en outre d'avoir 1 ligne ou 25 pour un candidat sans redondance ni champ NULL.

Posté : 25 août 2005, 10:18
par Big O
Ce que tu dis semble interessant cyrano :roll:
Mais dans la table experience que tu proposes, je ne vois aucun lien avec la table des CV

Posté : 25 août 2005, 10:20
par Cyrano
Comme on en est qu';à la modélisation, je n'ai pas mis de clés étrangères, cependant, il faut savoir que tu relieras l'expérience au candidat et à travers le candidat tu pourras rejoindre le CV. Donc les cardinalités candidat/experience seront du candidat 0:n, experience 1:1 tu retrouveras donc la clé primaire candidat en clé étrangère Experience.

Posté : 25 août 2005, 11:21
par Invité
Comme on en est qu';à la modélisation, je n'ai pas mis de clés étrangères, cependant, il faut savoir que tu relieras l'expérience au candidat et à travers le candidat tu pourras rejoindre le CV. Donc les cardinalités candidat/experience seront du candidat 0:n, experience 1:1 tu retrouveras donc la clé primaire candidat en clé étrangère Experience.
Hum..
Ce ne serait pas mieux de relier directement expérience à cv ?
Hehe j'ai encore une autre tache, définir les cardinalités entre les entités..pftttt lol

Posté : 25 août 2005, 11:27
par Cyrano
Ben non: qui a l'expérience: le candidat, pas le CV. Les deux doivent être reliés au candidat Mais les cardinalités ne seront pas les mêmes pour le CV ou l'expérience. En principe, un candidat a un CV et un seul, et le CV concerne un candidat et un seul: donc demande-toi si tu ne devrais pas considérer le CV comme une propriété de l'entité candidat. Par contre l'expérience est obligatoirement une entité à part parce que le nombre de ligne sera 0 à n lignes pour 1 et un seule candidat

Posté : 25 août 2005, 11:45
par Invité
Bien vu cyrano ! :)
donc demande-toi si tu ne devrais pas considérer le CV comme une propriété de l'entité candidat
C'est bien ce que j'ai fait; la preuve dans ma table Demandeur, tu verras le champ RefCv (= réference Cv)

Pour l'entité Expérience, finalement, je retiens la structure que tu as proposée précedemment, ou bien tu propose une version améliorée :?:
:wink:

Posté : 25 août 2005, 11:54
par Cyrano
C'est difficile de travailler de façon abstraite, j'aime bien les schémas pour faire ce genre de chose. Tu devrais faire un croquis avec des choses de ce genre :

Code : Tout sélectionner

+---------------------------+ +----------------------+ | candidat | ________________ | experience | +---------------------------+ 0:n / possede \ 1:1 +----------------------+ | can_id <PK>|------|----------------|------| exp_id <PK>| | can_nom | \________________/ | exp_debut | | etc... | | etc... | +---------------------------+ +----------------------+