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 (ayant 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 ou constantes, 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 composent 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 :

  • Que l'information devra être saisie plusieurs fois, ce qui multiplie les risques d'erreurs de frappe.
  • Que lors de mise à jour, les modifications devront intervenir à plusieurs endroits ce qui implique des risques de mise à jour partielle.

Pour structurer les attributs du dictionnaire de données on utilise les dépendances fonctionnelles (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 appelé source de la dépendance fonctionnelle et A2 le but.

Exemple de DF

Dans notre base de données, 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 obtenues dans chaque matière. La connaissance du numéro d'étudiant ne permet donc pas de connaître une note particulière et il n'y a donc pas de DF entre Numetu et Note.

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 les attributs buts 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 les attributs buts 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, l'attribut A4 est redondant puisqu'il se trouve comme but de 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 A4 de ENTITE2 car cela impliquerait la suppression de l'entité et donc une perte d'information. En revanche A4 peut être supprimé de ENTITE1, 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 obtenus par transitivité.
Démarche de structuration des données

La structuration des données du dictionnaire des données s'effectue en 5 étapes :

  1. Détermination de la liste des DF simples
  2. Prise en compte des attributs non classés dans l'étape 1 et détermination des DF composées
  3. Elimination des transitivités du schéma des DF
  4. Construction, à partir des DF simples, des entités de la base de données
  5. 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és 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-Élimination 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édenteEtape suivante | Conception BD