II-242 Choix du développeur
L'ensemble des bases de données nécessaire à
la réalisation du Système Intégré de Gestion sera
géré sous SQL Serveur.
Un des intérêts majeurs de ce choix réside
en ses fonctionnalités haut de gamme en matière de gestion de
bases de données. Mais aussi et surtout à son ouverture aux
différents types de développeurs existants sur le
marché.
En effet, on peut utiliser n'importe quel développeur pour
faire des applications utilisant une base SQL Server par l'intermédiaire
d'ODBC.
C'est ainsi que nous avons porté notre choix sur WinDev
qui est un puissant outil de développement doté de
fonctionnalités évoluées en la matière.
C'est un langage événementiel doté d'un
module langue permettant de générer un même code en
différentes langues. Son éditeur permet d'associer à
chaque objet créé, un ou plusieurs traitements qui
définissent la réaction de l'objet à un
événement.
II-243 Le MCD
POSITIONS
*Code_Position Libelle_position
FONCTIONS
*Code_fonction Libelle_fonction
0,n
est-en-position Num_acte_fonc
Date_fonction
0,n
*Matricule
Prenom
Nom
Date-Naissance Code_sexe_agent Code_situation_matrimoniale
Code_localite_naissance Code_nationalite
AGENTS
1,n
Num_acte_pos Date_position
est-en-position
1,n
*Année-note
DATES
*Code_fonction Libelle_fonction
0,n
1,n
Avoir obtenu Date_obtention
1,n
TITRES/DIPLOMES
*Code_diplome Libelle_diplome
0,n
1,n
Avoir_grade
date_grade numero acte
Obtenir note note_moyenne
0,n
0,n
1,n
Avoir reçu Date_distinction
DISTINCTIONS
0,n
Avoir echelon
Date_echelon Numero_acte
1,n
ECHELEONS
*Code_echelon Libelle_echelon
GRADES
*Code_grade Libelle_grade
Appartenir à
1,n
1,1
Avoir-statut
1,n
CORPS
*Code_corps Libelle_corp
1,1
CADRES
*Code_cadre Libelle_cadre
1,n
Être dans
STATUTS
1,n
fig. 16
* Code_statut Libelle_statut
1,1
1,n
*Code_IA Libelle_IA
-A
Dépend2
*Code_IDEN Libelle_IDEN
ETABLISSEMENTS
Dépend1
1,n
1,n
0,n
Etre-affecté-a
Num-acte-aff date-affectation
1,1
*Code_Etablisement Libelle_Etablissement
AGENTS
*Matricule
NATIONALITES
1,n
Avoir-Nationalité
*Code_Nationalite Libelle_Nationalite
Date_budgétisation Num_acte_Budget
Est-Budgétisé-à
0,n
1,1
0,n
Avoir-Conjoints
1,n
Avoir-Enfants
SERVICE-BUDGETAIRE
*Code_Service-Budgetaire Libelle_Sercvice-Budgetaire
1,1
CONJOINTS
*Code_Conjoint Nom_Conjoint
...
1,1
*Code_Enfant Prénom_Enfant
ENFANTS
...
0,n
1,1
DIVISIONS
Etre-composé
*Code_division Libelle_division Adresse_division
Fig. 18
II-244 Le MPD
Nom de table : Agents {
|
MODELE PHYSIQUE DE DONNEES
|
Matricule
|
Alphanum.
|
Long=7
|
Obligatoire
|
Nom
|
Alphabetique
|
Long=20
|
Obligatoire
|
Prenom
|
Alphanum.
|
Long=20
|
Obligatoire
|
Titre
|
Alphabétique
|
Long = 3
|
Obligatoire
|
Mois _ naissance
|
Numerique
|
Long= 2 Non Obligatoire
|
Annee _ naissance
|
Numerique
|
Long= 2
|
Obligatoire
|
Code_sexe _Agent
|
Numerique
|
Long=1
|
Obligatoire
|
Code_Situation_Matrimoniale Alphabetique
|
Long=1
|
Obligatoire
|
Code_localite_ naissance
|
Alphanum.
|
Long=3
|
Obligatoire
|
}
Clé primaire = IND_MATRICULE(Matricule),
clé unique, Pas de valeur nulle
|
Nom de table : Situations_administratives {
|
|
|
Matricule
|
Alphanum.
|
Long=7
|
Obligatoire
|
Code_Grade
|
Alphanum.
|
Long=6
|
Obligatoire
|
Code_Corps
|
Alphanum.
|
Long=4
|
Obligatoire
|
Code_statut
|
Alphanum.
|
Long=1
|
Obligatoire
|
Code_position
|
Alphanum.
|
Long=2
|
Obligatoire
|
Code_nationalite
|
Alphanum.
|
Long=1
|
Obligatoire
|
Code_ministere
|
Alphanum.
|
Long=2
|
Obligatoire
|
Code_Service-Budgetaire
|
Alphanum.
|
Long=4
|
Obligatoire
|
Code_Service-Affectation
|
Alphanum.
|
Long=4
|
Obligatoire
|
Code_Etablissement
|
Alphanum.
|
Long=8
|
Obligatoire
|
Code_fonction
|
Alphanum.
|
Long=4
|
Facultatif
|
Code_echelon
|
Alphanum.
|
Long=2
|
Obligatoire
|
Note_administrative
|
Numerique
|
Long=4,2
|
Obligatoire
|
}
|
|
|
|
Nom de table : Conjoints
|
|
|
|
Filiation Internet/Intranet, nouvelle dimension du client
serveur
|
|
par Mor Ndiaye Mbaye page 95
|
{
|
|
|
|
Code Sexe _ conjoint
|
Numerique
|
Long=1
|
Obligatoire
|
Valeurs (1 ou 2)
localite_ naissance_ conjoint
|
Alphanum.
|
Long=3
|
Obligatoire
|
|
|
|
Clé étrangere
|
Annee _registre_conjoint
|
Numerique
|
Long=2
|
Obligatoire
|
Numero _registre_conjoint
|
Alphanum.
|
Long=5
|
Obligatoire
|
Matricule
|
Alphanum
|
Long=7
|
Obligatoire
|
Date _ naissance _ conjoint
|
Date
|
Long=8
|
Obligatoire
|
Nom_conjoint
|
Alphabetique Long=20
|
Obligatoire
|
Prenom_ conjoint
|
Alphanum.
|
Long=20
|
Obligatoire
|
Date _mariage non divorce
|
Date
|
Long=8
|
Obligatoire si
|
Annee _registre_mariage non divorce
|
Numerique
|
Long=2
|
Obligatoire si
|
Numero_registre_mariage non divorce
|
Alphanum.
|
Long=5
|
Obligatoire si
|
Date_deces_conjoint
|
Date Long=8
|
A saisir si décès
|
Travail_conjoint
|
Alphabetique Long=30
|
Obligatoire
|
}
Clé primaire =
IND_CONJOINTS(Code_Sexe_conjoint +
Localite_naissane_conjoint+
annee_registre_conjoint, Numero_registre_conjoint) Clé
unique, Asc
---
Nom de table : Enfants {
|
|
Code_Sexe_ enfant
|
Numerique
|
Long=1
|
Obligatoire
|
Localite _ naissance _ enfant
|
Alphanum.
|
Long=3
|
Obligatoire
|
|
|
|
Clé étrangere
|
Annee _registre_enfant
|
Numerique
|
Long=2
|
Obligatoire
|
Numero _registre_enfant
|
Alphanum.
|
Long=5
|
Obligatoire
|
Date _ naissance _ enfant
|
Date
|
Long=8
|
Obligatoire
|
Matricule
|
Alphanum.
|
Long=7
|
Obligatoire
|
|
|
|
Clé étrangere
|
Nom_ enfant
|
Texte
|
Long=20
|
Obligatoire
|
Prenom_ enfant
|
Texte
|
Long=20
|
Obligatoire
|
Date_deces_ enfant
|
Date
|
Long=8
|
Facultatif
|
}
Clé primaire = IND_ENFANTS
(Code_sexe_enfant +
Localite
_ naissance_enfant +
Annee_registre_enfant + Numero_registre_enfant) Clé
unique
---
Nom de table : Statuts {
Code_statut Alphanum. Long=1 Obligatoire
Libelle_statut Alphanum. Long=30 Obligatoire
}
Clé primaire =
IND_STATUTS(Code_statut),Clé unique, Asc
Nom de table : Corps {
|
|
|
|
Code_corps
|
Alphanum.
|
Long=2
|
Obligatoire
|
|
|
|
Clé unique
|
Code_statut
|
Alphanum.
|
Long=1
|
Obligatoire
|
|
|
|
Clé étrangere
|
Libelle_corps
|
Alphanum
|
Long=30
|
Obligatoire
|
hiérarchie
|
Alphanum
|
Long=2
|
Obligatoire
|
}
Clé primaire = IND_CORPS (Code_corps),
Clé unique, Asc
---
Nom de table : Cadres
{
Code_cadre Alphanum. Long=2 Obligatoire
Clé unique
Code_statut Alphanum. Long=1 Obligatoire
Clé étrangere Libelle_cadre Alphanum Long=30
Obligatoire }
Clé primaire = IND_CADRES (Code_cadre),
Clé unique, Asc
---
Nom de table : Grades
{
Code_grade Alphanum. Long= 6 Obligatoire
Clé unique
Code_statut Alphanum. Long=1 Obligatoire
Clé étrangere Libelle_grade Alphanum Long=40
Obligatoire }
Clé primaire = IND_GRADES (Code_grade),
Clé unique, Asc
---
Nom de table : Echelons
{
Code_echelon Alphanum. Long=2 Obligatoire
Clé unique
Code_grade Alphanum. Long=6 Obligatoire
Clé etrangere
Code_statut Alphanum. Long=1 Obligatoire
Clé étrangere
}
Clé primaire = IND_ECHELONS
(Code_echelon), Clé unique, Asc
Nom de table : Promotions_echelon
{
Matricule Alphanum. Long=7 Obligatoire
Filiation Internet/Intranet, nouvelle dimension du client
serveur
|
par Mor Ndiaye Mbaye page 98
|
|
|
|
Clé étrangere
|
Code_ echelon
|
Alphanum.
|
Long=2
|
Obligatoire
|
|
|
|
Clé etrangere
|
Code _grade
|
Alphanum.
|
Long=6
|
Obligatoire
|
|
|
|
Clé etrangere
|
Date_ echelon
|
Date
|
Long=8
|
Obligatoire
|
Code_ acte
|
Alphanum.
|
Long=2
|
Obligatoire
|
Numéro_ acte
|
Alphanum.
|
Long=8
|
Obligatoire
|
}
Clé primaire = IND_PROMO_ECHELON (
Matricule + Code_grade + Code_echelon) Clé unique, Asc
---
Nom de table : Promotions_grade
{
|
|
|
|
Matricule
|
Alphanum.
|
Long=7
|
Obligatoire
|
|
|
|
Clé étrangere
|
Code_grade
|
Alphanum.
|
Long=6
|
Obligatoire
|
|
|
|
Clé etrangere
|
Date_grade
|
Date
|
Long=8
|
Obligatoire
|
code_acte
|
Alphanum
|
Long=4
|
"
|
Numero_acte
|
Alphanum
|
Long=8
|
"
|
}
Clé primaire = IND_PROMO_GRADE( Matricule
+ Code_grade )
Clé unique, Asc
---
Nom de table : Ministeres
{
Code_ministere Alphanum Long=2 Obligatoire
Clé unique
Libelle_ministere Alphabétique Long=40 Obligatoire
Libelle_reduit_ministere Alphabétique Long =20
Obligatoire
}
Clé primaire = IND_MINISTERES (
Code_ministere), Clé unique, Asc
---
Nom de table :Etablissements
{
Code_ etablissement Alphanum. Long=8 Obligatoire
Clé unique
Libelle_ Etablissement Alphabetique Long=40 Obligatoire
Matricule _ Responsable Alphabetique Long=7 Obligatoire
Numero_
|
Telephone Alphanum. Long=10 Non Obligat.
|
Numero_ Fax Alphanum. Long=10 Non Obligat.
Adresse Alphabetique Long=20 Non Obligat.
}
Clé primaire = IND_ETABLISSEMENTS (
Code_etablissement), Clé unique, Asc
---
Nom de table :Services_Affectation
{
Code_service Obligatoire
|
Alphanum.
|
Long=5
|
Libelle_Service
|
Alphabetique Long=40
|
|
Obligatoire
|
|
|
|
Code_Service_Budgetaire
|
Alphanum.
|
Long=4
|
Obligatoire
|
|
|
|
Clé étrangère
|
Matricule _Responsable
|
Alphabetique
|
Long=7
|
Obligatoire
|
Numero_Telephone
|
Alphanum.
|
Long=10
|
Non Obligat.
|
Numero_Fax
|
Alphanum.
|
Long=10
|
Non Obligat.
|
Adresse
|
Alphabetique
|
Long=20
|
Non Obligat.
|
}
Clé primaire = IND_SERVICES (
Code_service), Clé unique, Asc
Nom de table :Divisions
{
Code_division Alphanum. Long=4 Obligatoire Clé
unique
Code_service Alphanum. Long=4 Obligatoire Clé
unique
Libelle_Division Alphabetique Long=40 Obligatoire
}
Clé primaire = IND_DIVISIONS
(Code_service + Code_division), Clé unique, Asc
---
Nom de table :Affectations {
|
|
|
|
Code_service
|
Alphanum.
|
Long=4
|
Obligatoire
|
|
|
|
Clé unique
|
Code_ministere
|
Alphanum
|
Long=2
|
|
Code_ etablissement
|
Alphanum.
|
Long=2
|
Obligatoire
|
|
|
|
Clé étrangere
|
Matricule
|
Alphanum.
|
Long=7
|
Obligatoire
|
|
|
|
Clé étrangere
|
Date_ affectation
|
Date
|
Long=8
|
Obligatoire
|
Numéro_ acte
|
Alphanum.
|
Long=8
|
Obligatoire
|
}
Clé primaire = IND_AFFECTATIONS
(Matricule + Date_affectation), Clé unique, Asc
Clé secondaire = IND_SRV_AFFECTATIONS
(Matricule + Code_service), Multiple, Asc
Clé secondaire=IND_ETAB_AFFECTATIONS
(Matricule+Code_etablissement),Multiple, Asc
---
Nom de table :Fonctions
{
Code_fonction Alphanum. Long=4 Obligatoire
Clé unique
Libelle_fonction Alphabetique Long=40 Obligatoire
}
Clé primaire = IND_FONCTIONS (
Code_fonction), Clé unique, Asc
---
Nom de table :Fonctions_occupees
{
|
|
|
|
Code_fonction
|
Alphanum.
|
Long=4
|
Obligatoire
|
|
|
|
Clé étrangere
|
Matricule
|
Alphanum.
|
Long=7
|
Obligatoire
|
|
|
|
Clé étrangere
|
Date_debut_ fonction
|
Date
|
Long=8
|
Obligatoire
|
Numéro_ acte
|
Alphanum.
|
Long=8
|
Obligatoire
|
}
Clé primaire :IND_FONCT_OCCUPEES
(Matricule + Date_debut_fonction) , Clé unique, Asc
Nom de table :Distinctions
{
Code_distinction Alphanum Long=4 Obligatoire
Clé unique
Libelle_distinction Alphabetique Long=40 Obligatoire }
Clé primaire: IND_DISTINCTIONS
(Code_distinction), Clé unique, Asc
---
Nom de table :Diplomes
{
Code_diplome Alphanum Long=4 Obligatoire
Clé unique
Libelle_diplome Alphabetique Long=40 Obligatoire
Equivalence Alphabetique Long=4 Facultatif
si renseigné , doit correspondre . un code
de diplome
}
Clé primaire = IND_DIPLOMES (
Code_diplome), Clé unique, Asc
---
Nom de table :Diplomes_obtenus
{
|
|
|
|
Code_diplome
|
Alphanum.
|
Long=4
|
Obligatoire
|
|
|
|
Clé unique
|
Matricule
|
Alphanum.
|
Long=40
|
Obligatoire
|
|
|
|
Clé étrangere
|
Date_obtention
|
Date
|
Long=8
|
Obligatoire
|
}
Clé primaire = IND_DIP_OBTENUS (
Matricule + Code_diplome + Date_obtention), Clé unique, Asc
---
Nom de table :Notes
{
Matricule Alphanum. Long=40 Obligatoire
Clé étrangere
Année_note Date Long=8 Obligatoire
Moyenne_note Numerique Long=4,2 Obligatoire
(0<=note<= 20)
}
Clé primaire = IND_NOTES ( Matricule +
Année_note + Moyenne_note),Clé unique, Asc
Nom de table : Positions
{
Code_position Alphanum. Long=2 Obligatoire
Clé unique
Libelle_situation Alphanum. Long=40 Obligatoire
Clé primaire = IND_SITUATIONS
(Code_position), Clé unique, Asc
---
Nom de table :Positions_agents
{
|
|
|
|
Matricule
|
Alphanum.
|
Long=7
|
Obligatoire
|
Code_position
|
Alphanum.
|
Long=2
|
Obligatoire
|
|
|
|
Clé unique
|
Date_debut_position unique
|
Date
|
Long=8
|
"
|
Date _ Fin_position
|
Date
|
Long=8
|
"
|
Numero_acte
|
Alphanum.
|
Long=8
|
"
|
}
Clé primaire = IND_SIT_AGENTS
(Matricule,Date_situation), Clé unique, Asc
---
Nom de table :Nationalites
{
Code_nationalite Alphanum Long=4 Obligatoire
Clé unique
Libelle_nationalite Alphabetique Long=20 Obligatoire
}
Clé primaire = IND_NATIONALITES (
Code_nationalite), Clé unique, Asc
Nom_table : IDEN
{
Code_IDEN Alphanum Long = 3 Obligatoire
Clé unique Libelle_IDEN Alphabétique Long = 40
Obligatoire unique
Numero_Telephone Alphanum. Long=10 Non Obligat.
Numero_Fax Alphanum. Long=10 Non Obligat.
}
Clé primaire = IND_Departement (
Code_departement), Clé unique, Asc
---
Nom_table : IA
{
Code _ IA Alphanum Long = 3 Obligatoire
Clé unique
Libelle_ IA Alphabétique Long = 40 Obligatoire
unique Numero
|
_
|
Telephone Alphanum. Long=10 Non Obligat.
|
Numero_ Fax Alphanum. Long=10 Non Obligat.
}
Clé primaire = IND_Departement (
Code_departement), Clé unique, Asc
|