0% ont trouvé ce document utile (0 vote)
5 vues11 pages

Normalisation des bases de données

La normalisation relationnelle vise à créer des schémas relationnels en troisième forme normale sans perte d'information. Le processus implique l'identification des dépendances fonctionnelles et la décomposition des schémas en relations appropriées. En pratique, il est crucial de déterminer les dépendances fonctionnelles et les clés à partir des entités et de leurs identifiants.

Transféré par

Djosbi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues11 pages

Normalisation des bases de données

La normalisation relationnelle vise à créer des schémas relationnels en troisième forme normale sans perte d'information. Le processus implique l'identification des dépendances fonctionnelles et la décomposition des schémas en relations appropriées. En pratique, il est crucial de déterminer les dépendances fonctionnelles et les clés à partir des entités et de leurs identifiants.

Transféré par

Djosbi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours de bases de données,

[Link]

La normalisation relationnelle

1Philippe Rigaux
La normalisation
La normalisation, c’est l’art de créer des schémas relationnels où toutes les relations
sont en troisième forme normale, et sans perte d’information.

Dans cette session :


• Exemple de décomposition d’un schéma
• Algorithme de normalisation
• Approche globale

Ces diapositives correspondent au support en ligne disponible


sur le site [Link]

2
Point de départ : relation globale et dépendances
On part d’un schéma contenant tous les attributs connus.

Appart(idAppart, surface, idImmeuble, nbEtages, dateConstruction)


On identifie les dépendances fonctionnelles

idAppart → surface, idImmeuble, nbEtages, dateConstruction


et

idImmeuble → nbEtages, dateConstruction

Remarque: En troisième forme normale ?


Non, car la seconde DF montre une dépendance dont la
partie gauche n’est pas la clé, idAppart.

3
La décomposition
On identifie les dépendances fonctionnelles minimales et directes.

idAppart → surface, idImmeuble


et

idImmeuble → nbEtages, dateConstruction

On crée une relation pour chacune :


• Appart(idAppart, surface, idImmeuble)
• Immeuble (idImmeuble, nbEtages, dateConstruction)
On obtient des relations en 3FN, sans perte d’information.

4
Regardons les occupants
Le schéma global de départ est le suivant :

Occupant(idPersonne, nom, pr énom, idAppart, surface)


On a les dépendances suivantes :

idAppart → surface

et
idPersonne → pr énom, nom
La clé est la paire (idPersonne, idAppart).

Remarque: En troisième forme normale ?


Non, car pour les deux DF, la partie gauche n’est pas la clé

5
La décomposition
Comme avant, à partir des DF minimales et directes.

• Personne(idPersonne, prénom, nom)


• Appart (idAppart, surface)

Pas suffisant, car on a perdu le lien entre les appartements et les personnes.

On ajoute une relation avec la clé.


• Occupant (idPersonne, idAppart)

On est en 3FN, sans perte d’information (jointures pour re-


constituer)

6
Algorithme de normalisation
On part d’un schéma de relation R global et d’un ensemble de dépendances
fonctionnelles minimales et directes.

On détermine alors les clés de R

• Pour chaque DF minimale et directe X → A1 · · · , An , on crée une relation


(X , A1 · · · , An ) de clé X
• Pour chaque clé C non représentée dans une des relations précédentes, on crée une
relation (C ) de clé C .

On obtient un schéma normalisé

7
Et en pratique ?
Pas tout à fait suffisant : les identifiants n’existent pas naturellement dans la vraie vie...

(titre, année, pr énomMES, nomMES, annéeNaiss)


Pas de DF... Il faut les ajouter et décidant des entités et de leur identifiant.
Ici, entités Film et Réalisateur, avec idFilm et idRéalisateur. Soit :

(idFilm, titre, année, idR éalisateur , pr énomMES, nomMES, annéeNaiss)


avec

idR éalisateur → pr énomMES, nomMES, annéeNaiss


et
idFilm → titre, année, idR éalisateur
Maintenant on normalise et on obtient un schéma en 3FN.

8
Illustration : table de départ
À partir de cette table pleine d’anomalies.

idFilm titre année idRéalisateur nomMES prénomMES annéeNaiss


1 Alien 1979 101 Scott Ridley 1943
2 Vertigo 1958 102 Hitchcock Alfred 1899
3 Psychose 1960 102 Hitchcock Alfred 1899
4 Kagemusha 1980 103 Kurosawa Akira 1910
5 Volte-face 1997 104 Woo John 1946
6 Pulp Fiction 1995 105 Tarantino Quentin 1963
7 Titanic 1997 106 Cameron James 1954
8 Sacrifice 1986 107 Tarkovski Andrei 1932

9
On obtient après normalisation
idFilm titre année idR
1 Alien 1979 101 idR nom prénom annéeNaiss
2 Vertigo 1958 102 101 Scott Ridley 1943
3 Psychose 1960 102 102 Hitchcock Alfred 1899
4 Kagemusha 1980 103 103 Kurosawa Akira 1910
5 Volte-face 1997 104 104 Woo John 1946
6 Pulp Fiction 1995 105 105 Tarantino Quentin 1963
7 Titanic 1997 106 106 Cameron James 1954
8 Sacrifice 1986 107 107 Tarkovski Andrei 1932
La table des films La table des réalisateurs

Schéma normalisé et sans perte d’information

10
À retenir
Il est toujours possible de se ramener à un schéma normalisé.

• En déterminant les DF et les clés


• En appliquant l’algorithme de normalisation

En pratique : les DF ne sont pas données naturellement. Il faut les déterminer par un
processus de conception basé sur les entités et leurs identifiants.

Démarche globale : conception entité / association, suivie de


la normalisation.

11

Vous aimerez peut-être aussi