2.2. Formalisme et
Règles de passage
Le passage du MCD au MLD
s'effectuer en appliquant des règles, s'appuyant sur le
cardinalité.
a. Règle des
passages pour les objets :
- L'objet devient table ;
- Propriété de
l'objet devient attribut de la table ;
- Identifiant de l'objet devient
la clé primaire de la table.
Ici on constantes qu'il y a des
changements de vocabulaire entre MCD et MLD
Voici alors le tableau.
MCD
|
MLD
|
Objet
|
Table
|
Propriété
|
Attribut
|
Identifiant
|
Clé Primaire
|
B. Règles de
passage pour les relations
Pour les règles de passage
il y a plusieurs cas qui sont épinglées à savoir :
Les cas de relation de type
« père fils »(CIF).
Soit les couples :
(0, N) ou (1, n) d'une part
père,
Et
(0, N) ou (1,1) d'autres part
fils
La relation disparait mais sa
sémantique demeure, car l'objet qui a la cardinalité (0, n) ou
(1, n) est considéré comme père et cède sa
clé primaire à l'objet qui a la cardinalité (1,0) ou (1,1)
qui à son tour est considéré comme fils.
b. Les cas de
relation « père-père »
Soit les couples :
(0, N) ou (1, n) d'une part,
Ou
(0, N) ou (1, n) d'autre part.
Dans ce cas la relation devient
une table de lien et hérite les clés des tous les deux
objets(Identifient) y compris les propriétés de la relations.
Pour le cas particulier ou
fantôme.
Soit les coupes :
(0,1) ou (1,1)
Et
(1,1) ou (0,1).
Pour le couple (0,1) et (1,1)
l'objet ayant la cardinalité (0,1) est considéré comme
étant le père et on applique la règle de la CIF.
On choisissant librement le
père et applique la règle de CIF, s'il y a des couples (0,1) et
(0,1).
2.3. Présentation du MLDR Brut
Cours
Code cours
Libelé_cours
Pondération
Nombre heu
Matr.Ens #
Frais
N°_Espece
Nom_remettant
Motif
Montant_payer
Liste
N°_Liste
Nom_et_Postn
Sexe
Code_sess #
Résultat
Ref_Result
Intutilé_Result
Matiere
Volume
Ponderation
Pourcentage
Mention
Total
Décision
Code_sess #
Session
Code_sess
Libelé_sess
Année_acad
Statistique
N°_stat
Nbre_reussie
Nbre_ajourné
Nbre_refusé
Etudiant
Matr.Etud
Nom_etud
Postnom
Prenom
Sexe_etud
Nationaté
Tel
E_mail
N°_Espece #
Ref_Result #
N°_stat #
Classe
Code_class
Libelé_class
Effectif_class
Code_Vac #
N°_stat #
Département
Code dép.
Intutilé_dep
Code_sect#
Section
Code_sect
Intutilé_sect
Nombre_classe
Code_Vac #
Enseignant
Matr.Ens
Nom_ens
Post_Nom_Ens
Sexe_Ens
Tel
E-mail
Observation
Code dép. #
Vacation
Code_Vac
Intitulé_Vac
Apprendre
Id Apprendre
Code cours #
Matr.Etud #
Enregistrer
Id_Enreg
N°_Espece #
N°_Liste #
Date_Enreg
251694080
Normalisation du MLDR
Brut
La normalisation
est un processus qui consiste à éliminer les dernières
redondances et les valeurs nulles C'est-à-dire limiter le risque
d'incohérences potentielles.
Dans le processus de
normalisation, nous allons nous appuyer sur les notions de dépendance
fonctionnelle, dépendance multi value et dépendance de jointure
qui tirent leurs origines dans les contraintes du monde réel.
Ainsi la dépendance
fonctionnelle permet de définir les premiers formes normales
jusqu'à la forme normale de BOYCE-CODD (1 FN, 2FN, 3 FN et BC FN)
Par ailleurs, la dépendance
multi value permet de définir la quatrième forme normale (4 FN)
et la dépendance de jointure, la cinquième forme normale (5
FN)
Première forme
normale (1FN) : Une table est en première forme normale,
si elle a une clé primaire et que ses attributs non clés sont
atomiques (élémentaires) c.à.d. elle a pour objet
d'éliminer le groupes répétitif dans une table.
Deuxième forme
normale (2FN) : une table relationnelle est en deuxième
forme normale lorsqu'étant déjà en première forme
normale, les attributs portés par la table dépendent pleinement
de l'identifiant et de lui seul.
Troisième forme
normale (3FN) : une table est en troisième forme normale
si d'abord elle est deuxième forme normale et que l'attribut
portés par cette table sont en dépendance fonctionnelle directe,
c'est-à-dire, ils ne doivent pas dépendre fonctionnellement de la
clé transitoire via un attribut non clé.
Présentation du MLDR
normalisé (ou valide)
Cours
Code cours
Libelé_cours
Pondération
Nombre heu
Matr.Ens #
Frais
N°_Espece
Nom_remettant
Motif
Montant_payer
Liste
N°_Liste
Nom_et_Postn
Sexe
Code_sess #
Résultat
Ref_Result
Intutilé_Result
Matiere
Volume
Ponderation
Pourcentage
Total
Décision
Code_sess #
Id_ment #
Session
Code_sess
Libelé_sess
Année_acad
Statistique
N°_stat
Nbre_reussie
Nbre_ajourné
Nbre_refusé
Etudiant
Matr.Etud
Nom_etud
Postnom
Prenom
Sexe_etud
Nationaté
Tel
E_mail
N°_Espece #
Ref_Result #
N°_stat #
Classe
Code_class
Libelé_class
Effectif_class
Code_Vac #
N°_stat #
Département
Code dép.
Intutilé_dep
Code_sect#
Section
Code_sect
Intutilé_sect
Nombre_classe
Code_Vac #
Enseignant
Matr.Ens
Nom_ens
Post_Nom_Ens
Sexe_Ens
Tel
E-mail
Observation
Code dép. #
Vacation
Code_Vac
Intitulé_Vac
Apprendre
Id Apprendre
Code cours #
Matr.Etud #
Enregistrer
Id_Enreg
N°_Espece #
N°_Liste #
Date_Enreg
Mention
Id_ment
Nbre_echec
Ecli
EcG
251689984
Schéma relationnel
associé au MLDR
T_Etudiant :
(Matricule_Etu :char(13) ;Nom_Etu :text(15) ;Post_Nom_Etu :
text(15) ; Pre_Nom_Etu : text(15) ; Sexe _Etu:
text(1) ;Age_Etu :
char(8) ;Nationalité :text(15) ;Code_Clas #:char(5) ;
Tel :Num(13) ;E_mail :char(50) ;Ref.frais# :char(5))
Ref.res# :char(5) ;Code_Vac# :text(5) ;Code_Sect :text(5))
T_Classe :
(Code_Clas :char(5) ;Libelé_Clas :char(5) ;Effectif_Clas :Num(4) ;
T_Section :
(Code_Sect :text(5) ;Intitulé_Sect :text(15) ;Nbre_Clas :Num(2))
T_Vacation :
(Code_Vac :text(5) ;Intitulé_Vac :text(15))
T_Resultat :(Ref.res :char(5) ;Intitulé_Res :char(15) ;Code_session :Char(5) ;Nom_etu :Char(3) ;Matiere :Char(15) ;Volume :Int() ;Ponderation :Int() ;Pourcentage :int() ;Total :int() ;Decision :Char(15))
T_Session :
(Code_Ses :char(5) ;Libelé_Ses :char(15) ;Année_Acad :char(5))
T_Frais :
(Ref.frais :char(5) ;Motif :char(15) ;Montant ;char(8) ;Code_Ses :char(5))
T_Cours :(Code_Cou :
char(5) ; Libelé_Cou : text(15) ; Ponderation :
Num(2) ; Nbre_Heure: Num(3) ; Matricule_Ens : char(13))
T_Enseignant :(Matricule_Ens :char(13) ;Nom_Ens :text(15) ;Post_Nom_Ens :text(15) ;Pre_Nom_Ens :text(15) ;
Sexe :
text(1) ;Grade :char(15) ;Tel :char(13) ;E_mail :char(50) ;Bureau :char(15))
T_Apprendre : (Code_Cou :
char(5) ; Matricule_Etu : char(13))
T_Organiser :(Code_Dep :
char(5) ; Matricule_Ens : char(13))
T_Departement :
(Code_Dep : char(5) ; Intitulé_Dep :
char(15) ; Code_Sect : text(5))
T_Contenir :
(Code_Sect : text(5) ; Code_Vac : text(5))
|