|
Conception de Bases de données : étape 2
Structuration des données
Les informations contenues dans le dictionnaire
de données doivent être structurées en "paquets"
homogènes (entités, tables) dans lesquels la répétition
(redondance) d'informations doit être minimale.
Les attributs qui sont calculés (qui ont une règle
de calcul) ne doivent pas être pris en compte dans
la phase de structuration des données. Ils sont en effet
obtenus à partir d'autres attributs, et les inclure dans
la phase de structuration introduirait une forme de redondance et
donc des possibilités d'incohérence. Dans notre exemple,
l'attribut "Moyenne" appartient à cette catégorie.
On dira qu'un ensemble d'attributs est homogène
si tous les attributs qui le compose ont un lien "direct".
La redondance à l'intérieur d'un ensemble doit être minimale
car la redondance est source d'incohérence. En effet, si
la même information est répétée plusieurs fois,
cela signifie :
-
Qu'elle devra être saisie plusieurs fois,
ce qui multiplie les risques d'erreurs de frappe.
-
Que lorsqu'elle devra être mise à
jour, les modifications devront intervenir à plusieurs
endroits d'où des risques de mise à jour partielle.
Pour regrouper les attributs du dictionnaire de données
on utilise un élément structurant qui s'appelle la
dépendance fonctionnelle (DF).
------------------------------------
Pour une justification plus formelle du processus de structuration
des données présenté ci-après, se reporter,
dans ces pages à la rubrique Normalisation.
------------------------------------
Notion de dépendance
fonctionnelle (DF)
On dit qu'il existe une dépendance fonctionnelle
entre un attribut A1 et un attribut A2, on note A1 -> A2, si
connaissant une valeur de A1 on ne peut lui associer qu'une seule
valeur de A2. On dit aussi que A1 détermine A2. A1 est la
source de la dépendance fonctionnelle et A2 le but.
Exemple de DF
Dans notre base de données exemple, connaissant
un numéro d'étudiant, on connaît de manière unique
le nom de cet étudiant et, entre autres, sa date de naissance.
On a donc :
Numetu -> Nometu, Dtnaiss.
En revanche, l'expression : Numetu ->
Note est fausse.
En effet, connaissant un numéro d'étudiant
on peut connaître les notes qu'il a obtenu dans chaque
matière. La connaissance du numéro d'étudiant
ne permet donc pas de connaitre une note particulière et
il n'y a donc pas de DF.
DF simple :
On dira qu'une DF est simple si sa source n'est composée
que d'un seul attribut.
Une DF simple caractérise une entité (table)
dont la source est la clé et dont les propriétés
sont constituées par le but de la DF.
DF composée :
On dira qu'une DF est composée si sa source est composée
par la réunion de plusieurs attributs.
Une DF composée caractérise une association entre
entités (tables) dont la source est la clé et
dont les propriétés sont constituées par le
but de la DF. Il ne doit pas y avoir d'attributs superflus dans
la source d'une DF composée. Par exemple si nous avons les
2 DF composées :
1- A1, A2, A3 -> A4
2- A1, A2 -> A4
La DF numéro 1 est incorrecte puisque A3 est superflu. La
DF composée "correcte" est : A1, A2 -> A4
Pour représenter les entités et associations
nous utiliserons la notation suivante :
NOM_DE_L'ENTITE (Source, But ...). La
clé est soulignée.
Soit par exemple :
|
DF
|
Entités
|
|
A1 -> A2, A3, A4
|
ENTITE1 (A1, A2, A3, A4)
|
|
A3 -> A4
|
ENTITE2 (A3, A4)
|
|
A1, A5 -> A6
|
ASSOC1 (A1, A5, A6)
|
Suppression
de la redondance d'informations
L'utilisation des DF permet de structurer les informations
contenues dans le dictionnaire des données mais n'élimine
pas, directement, la redondance éventuelle de ces informations.
Par exemple, dans le tableau ci-dessus, les attributs A3 et A4 sont
redondants puisqu'ils se trouvent dans deux entités : ENTITE1
et ENTITE2. Il est donc nécessaire d'éliminer cette
redondance sans toutefois perdre des informations : c'est
à dire supprimer des entités.
Dans cet exemple, on ne peut supprimer A3 de l'entité2
car cela impliquerait la suppression de l'entité et donc
une perte d'information. A4 ne peut pas non plus être supprimé
de l'entité2 puisque c'est la seule propriété
de cette entité. En revanche A4 peut être supprimé
de l'entité1, sans perte d'information, puisqu'il peut être
obtenu (dérivé) par le biais de A3, en utilisant la
propriété de transitivité des DF.
La structure "optimale" (cohérence
maximale et redondance minimale) du schéma de DF précédent
est donc :
A1 -> A2, A3
A3 -> A4
A1, A5 -> A6
D'où la règle :
| Pour supprimer les redondances sur un ensemble de DF il
faut éliminer les attributs qui peuvent être obtenu
par transitivité. |
Démarche
de structuration des données
La structuration des données du dictionnaire
des données s'effectue en 5 étapes :
- Détermination de la liste des DF simples
- Prise en compte des attributs non classés dans l'étape
1 et détermination des DF composées
- Elimination des transitivités du schéma des
DF
- Construction, à partir des DF simples, des entités
de la base de données
- Construction, à partir des DF composées, des
associations de la base de données
L'application de cette démarche à notre exemple
nous donne les résultats suivants :
1-DF simples de la base de données
ETUDIANTS
Numetu -> Nometu, Dtnaiss, Cdsexe, Lbsexe
Cdsexe -> Lbsexe
Numens -> Nomens, Grade, Ancien
Numat -> Nomat, Coeff, Numens, Nomens, Grade, Ancien
2-Attributs non classé
et DF composées de la base de données ETUDIANTS
L'attribut "note" n'a pas été
classé dans l'étape précédente, il intervient
donc dans une DF composée. Cette DF est la suivante :
Numetu, Numat -> Note
3-Elimination des transitivités
de l'ensemble des DF
Numetu -> Nometu, Dtnaiss, Cdsexe
Cdsexe -> Lbsexe
Numens -> Nomens, Grade, Ancien
Numat -> Nomat, Coeff, Numens
4-Construction des entités
ETUDIANT (Numetu, Nometu, Dtnaiss, Cdsexe)
SEXE (Cdsexe, Lbsexe)
ENSEIGNANT (Numens, Nomens, Grade, Ancien)
MATIERE (Numat, Nomat, Coeff, Numens)
5-Construction des associations
NOTES (Numetu, Numat, Note)
Etape précédente|
Etape suivante | Conception
BD
|