Précédent   Forum des professionnels en informatique > Général Développement > Conception > Modélisation > Schéma
Schéma Modélisation Relationnelle (Dépendances Fonctionnelles, Formes Normales, Entité-relation, MCD, MPD ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/02/2012, 09h58   #1
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 46
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 46
Points : 13
Points : 13
Par défaut Modèle de gestion du personnel

Bonjour, je suis entrain de modéliser la gestion du personnel d'une administration avec les informations suivantes:

-On a une Direction Générale subdivisée en Directions Centrales
- Chaque Direction Centrale subdivisée en Sous-Directions
- Chaque Sous-Direction subdivisée en Services

Mon idée est de d'avoir une table Services liée liée à une table SousDirections liée à une table Directions

Mon problème est que certaines personnes ne respectent pas ce schéma:
- Par exemple, le personnel de la Direction Générale n'est rattaché à aucune Direction
- La secrétaire ou le chauffeur du Directeur n'est rattaché à aucune sous-Direction
- La secrétaire du Sous-Directeur n'est rattaché à aucun Service

Donc je ne sais pas vraiment comment modéliser pour prendre en compte ces contraintes.

Donnez moi une idée S'il Vous Plait
Lynecoln est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 11h24   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
Bonjour Lynecoln,

L'héritage peut satisfaire ton besoin. Suggestion :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Groupe ---1,1---[être]---1,1--- DirectionGénérale
   |                                |
   |                               1,n
   |                                |
   |                            [composer]
   |                                |
   |                               1,1
   |                                |
   |------1,n---[être]---1,1--- DirectionCentrale
   |                                |
   |                               1,n
   |                                |
   |                            [composer]
   |                                |
   |                               1,1
   |                                |
   |------1,n---[être]---1,1--- SousDirection
   |                                |
   |                               1,n
   |                                |
   |                            [composer]
   |                                |
   |                               1,1
   |                                |
   |------1,n---[être]---1,1--- Service
Groupe étant un "distributeur d'identifiants" permettant une liaison directe Groupe ==> Personne, sans passer par les subdivisions.
Vite fait...
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 13h21   #3
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 46
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 46
Points : 13
Points : 13
Merci pour ta réponse. Bon je ne maitrise pas bien encore les héritages, mais j'ai essayé de traduire en MCD les éléments de réponse que tu m'a donné.

Est-ce exact ce que j'ai fait ?
Images attachées
Type de fichier : png MCDD.PNG (58,8 Ko, 37 affichages)
Lynecoln est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 13h59   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
C'est cela même.

L'héritage est une manière de définir une "entité supérieure" porteuse des identifiants des "entités filles" : un entonnoir, en quelque sorte, par le "petit bout" duquel pointent d'autres entités. Cette "entité supérieure" se comporte, en fait, en "distributeur d'identifiants". Grossièrement...
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 14h16   #5
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 46
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 46
Points : 13
Points : 13
Ok, Merci pour ta réponse. Concernant toujours le même MCD, Il peut arriver qu'un service (ou une sous-direction) change de sous-direction (direction). Ou même un changement de dénomination.

Pour prendre ces aspects en compte sans perdre l'historique, j'ai envi d'ajouter des propriétés "Date début" et "Date fin" aux associations "Contenir 1", "Contenir 2" et "Contenir 3"

Quel est ton avis sur ça et cela ne gène t-il pas la notion d'héritage ?

Merci d'avance
Lynecoln est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 15h51   #6
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
Dans ce cas :
  • les cardinalités concernées doivent devenir 1,n (Sevice -> 1,n -> SousDirection) ;
  • il faut ajouter les attributs de dates aux associations ContenirX.
NB : il est d'usage de nommer les entités au singulier (nous nous doutons bien qu'il y aura plusieurs services dans l'entité "service").
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 18h58   #7
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
Je pense à une chose : pour éviter une date de fin à NULL (pour le service "en cours"), une date de début pourrait suffire. Le début de l'une étant la fin de l'autre + 1 jour.

Non ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 19h00   #8
Candidat au titre de Membre du Club
 
Inscription : août 2006
Messages : 46
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 46
Points : 13
Points : 13
Ok, j'ai conçu le MCD sous PowerAMC tel que tu me l'as conseillé. Mais j'ai deux problèmes

1 - Je reçois l'avertissement :

Code :
1
2
3
4
5
6
7
8
9
10
Circularité formée de liens obligatoires
	Avertissement	Les liens suivants sont tous dépendants les uns des autres :
		-> Chemin n°1 : "MCD"
			- Service - Contenir SVCE (SERVICE - CONTENIR_SVCE)
			- Groupe - Contenir SVCE (GROUPE - CONTENIR_SVCE)
			- Groupe - Contenir SD (GROUPE - CONTENIR_SD)
			- Sous-Direction - Contenir SD (SOUS_DIRECTION - CONTENIR_SD)
			- Sous-Direction - Etre rataché a SD (SOUS_DIRECTION - ETRE_RATACHE_A_SD)
			- Service - Etre rataché a SD (SERVICE - ETRE_RATACHE_A_SD)
2 - Du fait des cardinalités, l'identifiant de l'entité groupe (ID_GROUPE) est mis comme clé étrangère dans les entités Direction, Sous-Direction et service. Ce qui voudra dire que cette information est connue au moment de la créations des services.

J'ai joins le MCD définitif

Si tu peux encore me donner un coup de main. Merci
Images attachées
Type de fichier : png MCD2.PNG (93,2 Ko, 22 affichages)
Lynecoln est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 09h44   #9
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
Bonjour Lynecoln,

Tu as ajouté plusieurs couches...

Je n'ai pas le temps d'analyser la partie "cotisation" : après résolution de la partie "organisation des services", je te suggère d'ouvrir une autre discussion.

Donc, pour la première partie :
  • où est passée la direction générale ?
  • PowerAMC accepte-t-il ton premier schéma (sans les dates de début/fin) ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 09h16   #10
Membre du Club
 
Homme KONE
Inscription : juin 2004
Messages : 109
Détails du profil
Informations personnelles :
Nom : Homme KONE
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : juin 2004
Messages : 109
Points : 43
Points : 43
Code :
 où est passée la direction générale ?

J'ai enlevé la Direction Générale parce qu'en fait il s'agit de l'association d'une direction centrale. Et dans le premier schéma, il était permis a un membre qui quitte la direction centrale pour une autre puisse continuer d'être membre.
Maintenant ce n'es plus le cas, lorsque quelqu'un quitte la Direction centrale, il ne fait plus partie


Code :
PowerAMC accepte-t-il ton premier schéma (sans les dates de début/fin) ?
J'ai réglé l'erreur que PowerAMC affichait en mettant des cardinalités 0-n à la place de 1-n au niveau de l'appartenance d'une Sous-Direction à une Direction et d'un service à une Sous-Direction.

Mais même sans les dates de début et fin,l'identifiant de l'entité groupe apparait toujours dans les entités DirectionCentrale, Sous-Direction et Service et même membre
__________________
Une somme de savoirs en chaque matière, si minime soit-elle, rend n'importe quel benêt, dans un pays de benêts, docte.
ecarbill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 09h38   #11
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
Bonjour Ecarbill (ou Lynecoln),

Citation:
Envoyé par Ecarbill (ou Lynecoln)
L'identifiant de l'entité groupe apparait dans les entités DirectionCentrale, Sous-Direction et Service
==> c'est la conséquence de tout héritage.

Le schéma suivant devrait passer :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Groupe ---1,1---[être]---1,1--- DirectionGénérale
   |                                |
   |                               1,n
   |                                |
   |                            [composer]
   |                                |
   |                               1,1
   |                                |
   |------1,n---[être]---1,1--- DirectionCentrale
   |                                |
   |                               1,n
   |                                |
   |                            [composer]
   |                                |
   |                               1,1
   |                                |
   |------1,n---[être]---1,1--- SousDirection
   |                                |
   |                               1,n
   |                                |
   |                            [composer]
   |                                |
   |                               1,1
   |                                |
   |------1,n---[être]---1,1--- Service
Groupe(IdGroupe, Nom, ... {attributs communs}) ;
DirectionGénérale(IdDirectionGénérale, ... {attributs propres}) ;
DirectionCentrale(IdDirectionCentrale, #IdDirectionGénérale, ... {attributs propres}) ;
SousDirection(IdSousDirection, #IdDirectionCentrale, ... {attributs propres}) ;
Service(IdService, #IdSousDirection, ... {attributs propres}).
IdDirectionGénérale, IdDirectionCentrale, IdSousDirection et IdService prenant la valeur de IdGroupe : je ne sais pas si c'est possible avec PowerAMC mais, conceptuellement, je ne vois pas pourquoi cela ne le serait pas.

Peut-être CinePhil et/ou Fsmrel pourraient-ils apporter leur lumière ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 10h08   #12
Membre du Club
 
Homme KONE
Inscription : juin 2004
Messages : 109
Détails du profil
Informations personnelles :
Nom : Homme KONE
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : juin 2004
Messages : 109
Points : 43
Points : 43
Code :
1
2
3
4
5
6
7
    Groupe(IdGroupe, Nom, ... {attributs communs}) ;
    DirectionGénérale(IdDirectionGénérale, ... {attributs propres}) ;
    DirectionCentrale(IdDirectionCentrale, #IdDirectionGénérale, ... {attributs propres}) ;
    SousDirection(IdSousDirection, #IdDirectionCentrale, ... {attributs propres}) ;
    Service(IdService, #IdSousDirection, ... {attributs propres}).

IdDirectionGénérale, IdDirectionCentrale, IdSousDirection et IdService prenant la valeur de IdGroupe : je ne sais pas si c'est possible avec PowerAMC mais, conceptuellement, je ne vois pas pourquoi cela ne le serait pas.
PowerAMC me donne :
Groupe(IdGroupe, Nom, ... {attributs communs}) ;
DirectionGénérale(IdDirectionGénérale,#IdGroupe, ... {attributs propres}) ;
DirectionCentrale(IdDirectionCentrale, #IdGroupe,#IdDirectionGénérale, ... {attributs propres}) ;
SousDirection(IdSousDirection,#IdGroupe, #IdDirectionCentrale, ... {attributs propres}) ;
Service(IdService, #IdGroupe,#IdSousDirection, ... {attributs propres})

Donc si j'ai bien compris, ca veut dire que chaque fois que je dois un créé un service par exemple, je créé d'abord un groupe, et je mets son identifiant comme identifiant du service à créé !!!
__________________
Une somme de savoirs en chaque matière, si minime soit-elle, rend n'importe quel benêt, dans un pays de benêts, docte.
ecarbill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 13h04   #13
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
Citation:
Envoyé par ecarbill
PowerAMC me donne :
Groupe(IdGroupe, Nom, ... {attributs communs}) ;
DirectionGénérale(IdDirectionGénérale,#IdGroupe, ... {attributs propres}) ;
DirectionCentrale(IdDirectionCentrale, #IdGroupe,#IdDirectionGénérale, ... {attributs propres}) ;
SousDirection(IdSousDirection,#IdGroupe, #IdDirectionCentrale, ... {attributs propres}) ;
Service(IdService, #IdGroupe,#IdSousDirection, ... {attributs propres})
==> donc :
Groupe(IdGroupe, Nom, ... {attributs communs}) ;
DirectionGénérale(#IdGroupe, ... {attributs propres}) ;
DirectionCentrale(#IdGroupe, #IdDirectionGénérale, ... {attributs propres}) ;
SousDirection(#IdGroupe, #IdDirectionCentrale, ... {attributs propres}) ;
Service(#IdGroupe, #IdSousDirection, ... {attributs propres}).
avec IdDirectionGénérale, IdDirectionCentrale, IdSousDirection et IdService prenant la valeur de IdGroupe du niveau précédent devrait passer, non ?
Mais, encore une fois, je ne connais pas PowerAMC.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 13h30   #14
Membre du Club
 
Homme KONE
Inscription : juin 2004
Messages : 109
Détails du profil
Informations personnelles :
Nom : Homme KONE
Localisation : Côte d'Ivoire

Informations professionnelles :
Secteur : Service public

Informations forums :
Inscription : juin 2004
Messages : 109
Points : 43
Points : 43
Ok, merci pour ton soutien. je vais essayé ca et je vous tiendrai informé
__________________
Une somme de savoirs en chaque matière, si minime soit-elle, rend n'importe quel benêt, dans un pays de benêts, docte.
ecarbill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 19h16   #15
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
J'ai fait une boulette dans mon schéma... le "bon" schéma est le suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Groupe ---0,1---[être]---1,1--- DirectionGénérale
   |                                |
   |                               1,n
   |                                |
   |                            [composer]
   |                                |
   |                               1,1
   |                                |
   |------0,1---[être]---1,1--- DirectionCentrale
   |                                |
   |                               1,n
   |                                |
   |                            [composer]
   |                                |
   |                               1,1
   |                                |
   |------0,1---[être]---1,1--- SousDirection
   |                                |
   |                               1,n
   |                                |
   |                            [composer]
   |                                |
   |                               1,1
   |                                |
   |------0,1---[être]---1,1--- Service
devant donner :
Groupe(IdGroupe, Nom, ... {attributs communs}) ;
DirectionGénérale(#IdGroupe, ... {attributs propres}) ;
DirectionCentrale(#IdGroupe, #IdDirectionGénérale, ... {attributs propres}) ;
SousDirection(#IdGroupe, #IdDirectionCentrale, ... {attributs propres}) ;
Service(#IdGroupe, #IdSousDirection, ... {attributs propres}).
avec IdDirectionGénérale, IdDirectionCentrale, IdSousDirection et IdService prenant la valeur de IdGroupe du niveau précédent devrait passer, non ?
Mais, encore une fois, je ne connais pas PowerAMC.
ATTENTION :
il faut un trigger qui vérifie qu'un IdGroupe n'est présent qu'une seule fois dans l'entité "cible" et, obligatoirement, dans une des "entités cibles".
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h01.


 
 
 
 
Partenaires

Hébergement Web