0% ont trouvé ce document utile (0 vote)
58 vues25 pages

Chapitre 4 Normalisation

Le document traite de la normalisation des bases de données relationnelles, en expliquant les problèmes liés à des relations non normalisées et l'importance de la normalisation pour éviter la redondance et faciliter les mises à jour. Il décrit les dépendances fonctionnelles et les différentes formes normales (1FN, 2FN, 3FN) nécessaires pour assurer l'intégrité des données. Enfin, il présente des exemples de décompositions pour atteindre ces formes normales.

Transféré par

omaromarstm0805
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

Thèmes abordés

  • attributs,
  • insertions,
  • normalisation,
  • intégrité des données,
  • tables décomposées,
  • normalisation avancée,
  • architecture de base de donnée…,
  • système de gestion de base de …,
  • schéma de relation,
  • sémantique des données
0% ont trouvé ce document utile (0 vote)
58 vues25 pages

Chapitre 4 Normalisation

Le document traite de la normalisation des bases de données relationnelles, en expliquant les problèmes liés à des relations non normalisées et l'importance de la normalisation pour éviter la redondance et faciliter les mises à jour. Il décrit les dépendances fonctionnelles et les différentes formes normales (1FN, 2FN, 3FN) nécessaires pour assurer l'intégrité des données. Enfin, il présente des exemples de décompositions pour atteindre ces formes normales.

Transféré par

omaromarstm0805
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

Thèmes abordés

  • attributs,
  • insertions,
  • normalisation,
  • intégrité des données,
  • tables décomposées,
  • normalisation avancée,
  • architecture de base de donnée…,
  • système de gestion de base de …,
  • schéma de relation,
  • sémantique des données

Introduction aux bases de données

Chapitre 4:
La Normalisation

DR. HANEN GRICHI

drhanengrichi@[Link] 2023-2024
QU’EST-CE QU’UNE BD RELATIONNELLE ‘INCORRECTE’ ?

• Une relation n’est pas correcte si :


• elle implique des répétitions au niveau de sa population

• elle pose des problèmes lors des maj (insertions, modifications et suppressions)

• Les conditions pour qu'une relation soit correcte peuvent être définies formellement :

→ règles de normalisation

2
INTÉRÊT DE LA NORMALISATION

Pour vous montrer l’intérêt de la normalisation d’une base de donnée relationnelle, voyons
les problèmes que peuvent poser l’utilisation d’une base de données basée sur un modèle
relationnel non normalisé.

FOURNISSEUR (NomFournisseur,AdresseFournisseur, Produits, Prix)

3
INTÉRÊT DE LA NORMALISATION

FOURNISSEUR (NomFournisseur,AdresseFournisseur, Produits, Prix)

1° problème : Il n’y a pas de clé primaire.


2° problème : L’adresse n’est pas décomposée. Si on veut par exemple rechercher tous les fournisseurs qui habitent la même
ville, ça ne va pas être possible
3° problème :Une relation correspondant à ce schéma pourra éventuellement contenir plusieurs produits pour un même
fournisseur. Dans ce cas, il faudra faire face à un certain nombre de problèmes :
▪ l'adresse du fournisseur sera dupliquée dans chaque n-uplet (redondance) ;
▪ si on souhaite modifier l'adresse d'un fournisseur, il faudra rechercher et mettre à jour tous les n-uplets correspondant à ce
fournisseur;
▪ si on insère un nouveau produit pour un fournisseur déjà référencé, il faudra vérifier que l'adresse est identique;
▪ si on veut supprimer un fournisseur, il faudra retrouver et supprimer tous les n-uplets correspondant à ce fournisseur (pour
différents produits) dans la table.
4
DÉPENDANCE
FONCTIONNELLE

5
DÉPENDANCE FONCTIONNELLE (DF)

▪ Soit R(A1,A2, ....,An) un schéma de relation


▪ Soient X et Y deux attributs (ou groupes d’attributs) d’une relation R
▪ On dit que Y dépend fonctionnellement de X (X → Y) si à chaque valeur de X
correspond une valeur unique de Y
▪ On écrit : X →Y on dit que : X détermineY

6
DÉPENDANCE FONCTIONNELLE (DF)

PRODUIT (RefProduit, LibelleProduit, PU, Quantité, NumService, Adresse, Capacité)

Pour cette relation, les dépendances fonctionnelles suivantes sont vérifiées :

RefProduit → LibelleProduit
NumService → Adresse, Capacité
RefProduit → PU

7
DÉPENDANCE FONCTIONNELLE (DF)

Est-ce que c’est trois dépendances fonctionnelles sont correctes?

RefProduit → QuantitéCommandée

NumCommande → QuantitéCommandée

NumCommande ,RefProduit → QuantitéCommandée

8
DÉPENDANCE FONCTIONNELLE (DF)

Propriétés des dépendances fonctionnelles

Des axiomes et des règles d’inférence permettent de découvrir de nouvelles dépendances à


partir d’un ensemble initial.

Les trois premières propriétés sont connues sous le nom « Axiomes d’Armstrong »

9
DÉPENDANCE FONCTIONNELLE (DF)

Propriétés des dépendances fonctionnelles

Propriété 1: Réflexivité: Propriété 2: Augmentation:


X et Y sont des groupes de propriétés sachant que X et Y sont des groupes de propriétés:
Y est un sous groupe de X: donc X→Y X→Y ≡ XZ→YZ;
c’est-à-dire que tout ensemble d’attributs Si X détermine Y; les deux ensembles d’attributs peuvent être

détermine lui-même ou une partie de lui même: enrichis par un troisième.

Exemple: Exemple:

(Type, Marque, Puissance)→(Marque, Puissance) Type → Puissance <-> (Type, couleur) →(Puissance, couleur)

10
DÉPENDANCE FONCTIONNELLE (DF)

Propriétés des dépendances fonctionnelles

Propriété 3: Transitivité: Propriété 4: Union:


X et Y sont des groupes de propriétés: X→Y et X→Z ≡ X→Y,Z;
X→Y et Y→Z ≡ X→Z; Propriété 5: Pseudo-transitivité:
Exemple: X→Y et W,Y→Z ≡ W,X→Z;
Num_Immatriculation → Type,
Propriété 6: Décomposition:
Type → Puissance donc
Num_Immatriculation →Puissance X→Y et Z est inclus dans Y ≡ X→Z;

11
GRAPHE DE DÉPENDANCE FONCTIONNELLE

▪ Les DF peuvent être représentées à l’aide d’un graphe dont les nœuds sont les attributs

impliqués dans les dépendances et les arcs représentent les dépendances elles-mêmes.

▪ Les arcs sont orientés de la partie gauche de la dépendance vers sa partie droite.

▪ L’origine d’un arc peut être multiple mais sa cible doit être un nœud unique.

12
GRAPHE DE DÉPENDANCE FONCTIONNELLE

F1 : RefProduit ->LibelleProduit
F2 : RefProduit -> PU
F3 : NumService -> Adresse, Capacité
F4 : RefProduit, NumService -> Quantité

La dépendance fonctionnelle F3 n’est pas canonique, il faut donc la décomposer en deux dépendances
fonctionnelles F31 et F32 :
F31 : NumService -> Adresse
F32 : NumService -> Capacité

13
GRAPHE DE DÉPENDANCE FONCTIONNELLE

Le graphe des dépendances est le suivant :

14
GRAPHE DE DÉPENDANCE FONCTIONNELLE
Pour chaque relation il faut recenser toutes ses DF élémentaires et les représente sous forme d'un graphe orienté :
Graphe minimum des DF

▪ Exemple de graphe minimum : R(A, B, C, D, E)


E→A E→B E→C (≡E → A, B, C) C → D

Identifiant

▪ Le graphe minimum des DF permet de trouver les identifiants de la relation ▪ E est l'identifiant de R
▪ L’identifiant d’une relation est l’ensemble (minimal) des nœuds du graphe
minimum à partir desquels on peut atteindre tous les autres nœuds (via les DF)

15
GRAPHE DE DÉPENDANCE FONCTIONNELLE

R (A, B, C, D, E, F, G)

(F, G) est l'identifiant de R

16
FORMES NORMALES

• Objectifs des trois premières formes normales: permettre la décomposition de relations sans perdre d'informations
• Les formes normales des relations et les mécanismes pour les construire permettent d’obtenir des relations non
redondantes.

• La normalisation est donc le processus de transformation d’une relation ayant des problèmes lors de la mise à jour
vers une autre relation n’ayant pas ces problèmes
• Une relation en forme normale de niveau N est forcement de forme normale de niveau N-1

Le processus de normalisation d’une BD n’est pas obligatoire :


outil pratique et performant

17
FORMES NORMALES
PREMIÈRE FORME NORMALE (1FN)

• Une relation est en première forme normale si tous ses attributs contiennent des valeurs
• simples et non-décomposables (atomique)
• non-répétitives
• constantes dans le temps (date de naissance plutôt que l‘âge)

Décompositions

• Eliminer les groupes répétitifs dans une table


1, Sortir le groupe répétitif de la table initiale.
2, transformer le groupe répétitif en table, ajouter dans la clé de cette nouvelle table la clé primaire de la table initiale.

18
FORMES NORMALES
PREMIÈRE FORME NORMALE (1FN)
Commande (NumCmd, Date, NumClient, Nom, NumArticle, designation, quantiteCmd)
Cette table présente un groupe répétitif; Table commande NumCmd
Date
NumClient
NomClient
NumArticle
Décompositions Designation Groupe répétitif
quantiteCmd

Commande (NumCmd, Date, NumClient, NomClient)

ArticleCommandée (#NumCmd, NumArticle, designation, quantiteCmd)

19
FORMES NORMALES
DEUXIÈME FORME NORMALE (2FN)

Une relation est en deuxième forme normale si et seulement si :


▪elle est en première forme normale (1FN)
▪tout attribut non-clé est totalement dépendant de toute la clé (ne dépend pas d’une partie de la clé)
Elle ne concerne que les tables à clé primaire composée.

Décompositions

1. Regrouper dans une table les champs dépendants de la totalité de la clé.


2. Regrouper dans une autre table les champs dépendants d’une partie de la clé et faire de cette partie la clé primaire de
la nouvelle table

20
FORMES NORMALES
DEUXIÈME FORME NORMALE (2FN)
N’est pas concernée par la normalisation en 2FN.
• Commande (NumCmd, Date, NumClient, Nom)
La clé n’est pas composée.

Table LigneCommande

Table Article_Commande NumCmd


NumCmd NumArticle
2FN
NumArticle quantitéCmd
Designation
Décompositions Table Article
quantitéCmd
NumArticle
Designation

21
FORMES NORMALES
TROISIÈME FORME NORMALE (3FN)
• Une relation est en troisième forme normale si et seulement si :
▪ elle est en deuxième forme normale
▪ tout attribut non-clé ne dépend pas d'un attribut non-clé (pas de DF entre attributs non-clé)
• → les dépendances fonctionnelles entre deux attributs ordinaires ne sont pas autorisées (pas de
dépendances transitives dans une table).

Décompositions

[Link] dans la table initiale les champs dépendants directement de la clé.


[Link] dans une table les champs dépendants transitivement de la clé .
[Link] champ de transition reste dupliqué dans la table initiale. Et devient la clé primaire de la nouvelle table

22
FORMES NORMALES
TROISIÈME FORME NORMALE (3FN)

Table Commande
Table LigneCommande
Table Article NumCmd
NumCmd
NumArticle Date
NumArticle
Designation NumClient
quantitéCmd
Nom

Cette table est-elle en 1FN ? Cette table est-elle en 1FN ? Cette table est elle en 1FN ?
Cette table est-elle en 2FN ? Cette table est-elle en 2FN ? Cette table est elle en 2FN ?
Cette table est-elle en 3FN ? Cette table est-elle en 3FN ? Cette table est elle en 3FN ?

23
FORMES NORMALES
TROISIÈME FORME NORMALE (3FN)

Table Commande
NumCmd
Date
Table Commande
3FN NumClient
NumCmd
Date
NumClient Décompositions Table Client
NomClient
NumClient
NomClient

24
FORMES NORMALES
Table Commande
Résultat Final NumCmd
Date
NumClient
NomClient
NumArticle
Designation
quantiteCmd

Table Article Table LigneCommande Table Commande Table Client


NumArticle NumCmd NumCmd NumClient
Designation NumArticle Date NomClient

quantitéCmd NumClient

25

Vous aimerez peut-être aussi