Vous êtes sur la page 1sur 56

Bases de données

Chapitre 3: Modèle relationnel

Mohammed KHALIL

1/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Phases de conception

2/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Modèle Entité/Association

Intérêt de l’utilisation d’une méthode de conception


Proche du monde réel
Démarche sémantique claire
Diagramme standards
Exprime clairement les structures d’information à
représenter
Problème:
Il n’est pas accepté tel quel par l’ordinateur
Solution
Traduire ce modèle en structures techniques de tables et
de colonnes
Traduire en des concepts compréhensibles et gérables par
les SGBD relationnels.

3/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Modèle Entité/Association

Intérêt de l’utilisation d’une méthode de conception


Proche du monde réel
Démarche sémantique claire
Diagramme standards
Exprime clairement les structures d’information à
représenter
Problème:
Il n’est pas accepté tel quel par l’ordinateur
Solution
Traduire ce modèle en structures techniques de tables et
de colonnes
Traduire en des concepts compréhensibles et gérables par
les SGBD relationnels.

3/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Modèle Entité/Association

Intérêt de l’utilisation d’une méthode de conception


Proche du monde réel
Démarche sémantique claire
Diagramme standards
Exprime clairement les structures d’information à
représenter
Problème:
Il n’est pas accepté tel quel par l’ordinateur
Solution
Traduire ce modèle en structures techniques de tables et
de colonnes
Traduire en des concepts compréhensibles et gérables par
les SGBD relationnels.

3/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Plan

1 Passage au modèle relationnel

2 Normalisation

4/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Plan

1 Passage au modèle relationnel

2 Normalisation

4/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Plan

1 Passage au modèle relationnel

2 Normalisation

5/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Modèle relationnel

C’est un modèle logique de données qui correspond à


l’organisation des données dans les bases de données
relationnelles.
Il est composé de relations, encore appelées tables.
Ces tables sont décrites par des attributs ou champs (noms de
colonnes).
Pour décrire une relation, on indique tout simplement son nom,
suivi du nom de ses attributs entre parenthèses.
L’identifiant d’une relation est composé d’un ou plusieurs
attributs qui forment la clé primaire.
Une relation peut faire référence à une autre en utilisant une clé
étrangère, qui correspond à la clé primaire de la relation
référencée.
6/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Modèle relationnel

Il n’y a pas de notation officielle pour repérer les clés


primaires et étrangères.
Dans ce cours, nous utiliserons la notation suivante:
On souligne la clé primaire d’un seul trait.
On fait précéder les clés étrangères du symbole #.
Exemple : TABLE(cle_primaire, colonne1, colonne2,
#cle_étrangère).

7/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Représentation des entités

Chaque type-entité donne naissance à une relation.


Chaque attribut de ce type-entité devient un attribut de la
relation.
L’identifiant est conservé en tant que clé de la relation.

8/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Associations un-à-plusieurs

Toute association hiérarchique (de type [1, n]) se traduit par une clé étrangère.
La clé primaire correspondante à l’entité mère (côté n) migre comme clé
étrangère dans la relation correspondant à l’entité fils (côté 1).

Le modèle relationnel résultant devient donc :


CLIENT(code_client, Nom, Prénom, Adresse, code_postal, telephone)
COMMANDE(numero_commande, date, etat, montant_total, #code_client)
9/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Associations un-à-un

La clé primaire de la table issue de l’entité côté cardinalités (0,1) est dupliquée
dans la table issue de l’entité côté cardinalités (1,1) où elle devient clé externe.

Le modèle relationnel résultant devient donc :


CITOYEN (Num_Citoyen, Nom, Prénom, Adresse)
CANDIDAT (Num_Candidat, Parti, #Num_Citoyen)

10/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Associations plusieurs-à-plusieurs
La clé primaire est formée par la concaténation de l’ensemble des identifiants
des entités reliées.
Cette règle est valable pour toutes les associations ternaires (ou quaternaires).

Le modèle relationnel résultant devient donc :


COMMANDE (Num_Commande, date, etat, montant_total)
ARTICLE (Ref_article, designation, prix)
CONCERNER (#Num_Commande,#Ref_article, quantite)
11/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Associations cycliques un à plusieurs


L’identifiant de SALARIE va devenir clé primaire et les autres propriétés des
attributs.
L’identifiant de l’entité SALARIE devient clé étrangère. Ainsi, l’identifiant de
SALARIE (matricule) se retrouve deux fois dans la relation : comme clé primaire
et comme clé étrangère. On va donc donner un nom différent et significatif à ces
deux matricules.

Le modèle relationnel résultant devient donc :


SALARIE (matricule, nom, prénom, fonction,. . . , #matricule_chef) 12/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Associations cycliques plusieurs à plusieurs


Une pièce peut être composée de plusieurs autres pièces.
Une pièce entre dans la composition d’une autre un certain nombre de fois.
Par exemple, La pièce voiture est composée de 4 pièces roue. La pièce roue
est elle-même composée d’une pièce pneu et d’une pièce jante.

Le modèle relationnel résultant devient donc :


PIECE (référence, libellé)
COMPOSITION (#référence_composé, #référence_composant, nombre)
13/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Structure administrative élémentaire

On désire construire un système permettant de gérer un


magasin de vente de produit à des particuliers. Les produits du
magasin possèdent une référence (un code), un libellé et un prix
unitaire. Les clients sont caractérisés par leurs noms, ville,
catégorie et compte. Les clients passent des commandes de
produits. On mémorise la date de la commande. La commande
concerne un certain nombre de produits, en une quantité
spécifiée pour chaque produit.

14/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Modèle conceptuel de données

15/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Schéma relationnel

CLIENT (numcli, nomcli, ville, categorie, compte)


COMMANDE (numcom, #numcli, datecom)
PRODUIT (numpro, nompro, prix, qstock)
DETAIL (#numcom, #numpro, qcom)

16/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Modèle physique

17/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
Modèle relationnel
Normalisation

Modèle physique

18/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Plan

1 Passage au modèle relationnel

2 Normalisation

19/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Normalisation

La normalisation permet d’éviter la redondance dans les bases de


données relationnelles afin d’éviter ou de limiter :
Les pertes de données.
Les incohérences au sein des données.
L’effondrement des performances des traitements.

20/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Dépendances fonctionnelles

Soit R(A1;A2; : : :An) un schéma de relation, et X et Y des


sous-ensembles de A1;A2; : : :An. On dit que X détermine Y ou
que Y dépend fonctionnellement de X si, et seulement si, des
valeurs identiques de X impliquent des valeurs identiques de Y.
On le note :X → Y .
Autrement dit, il existe une dépendance fonctionnelle entre un
ensemble d’attributs X et un ensemble d’attributs Y, que l’on
note X → Y , si connaissant une occurrence de X on ne peut lui
associer qu’une seule occurrence de Y.

21/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Dépendances fonctionnelles

Soit R(A1;A2; : : :An) un schéma de relation, et X et Y des


sous-ensembles de A1;A2; : : :An. On dit que X détermine Y ou
que Y dépend fonctionnellement de X si, et seulement si, des
valeurs identiques de X impliquent des valeurs identiques de Y.
On le note :X → Y .
Autrement dit, il existe une dépendance fonctionnelle entre un
ensemble d’attributs X et un ensemble d’attributs Y, que l’on
note X → Y , si connaissant une occurrence de X on ne peut lui
associer qu’une seule occurrence de Y.

21/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Exemple

La relation
Voiture (NV, Couleur, Modèle, Marque, Conducteur, Infraction)
contient les dépendances fonctionnelles suivantes:
NV -> Couleur
NV -> Modèle
Modèle -> Marque
NV-> Marque
NV, Conducteur -> Infraction

22/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Graphe DF

Le graphe DF est une représentation graphique des


dépendances fonctionnelles entre les données.
Pour qu’un graphe DF soit minimum, il faut s’assurer que toutes
ses DF sont élémentaires et non déduites.

23/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

DF déduite

X -> D est déduite s’il existe un autre chemin


X -> A1 . . . à . . . An -> D

24/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

DF non élémentaire

X -> D est non élémentaire s’il existe une DF Y -> D


telle que Y est un sous-ensemble des attributs de X

25/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Exemple de graphe minimum

Quel est le graphe minimum de la relation R (A, B, C, D, E):


E -> A
E -> B
E -> C
C-> D

26/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Graphe minimum

27/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Graphe non minimum

E -> D est déduite de E -> C et C -> D.


Il faut supprimer E -> D du graphe.

28/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Graphe non minimum

E -> D est déduite de E -> C et C -> D.


Il faut supprimer E -> D du graphe.

28/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

DFs et identifiants
L’identifiant d’une relation est l’ensemble (minimal) des noeuds
du graphe minimum à partir desquels on peut atteindre tous les
autres noeuds (via les DF).
Quel est l’identifiant de la relation R (A, B, C, D, E, F, G)?

29/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

DFs et identifiants

L’identifiant est (F,G).

30/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Première forme normale

La première forme normale s’intéresse au contenu des champs.


Elle interdit la présence de plusieurs valeurs dans un même
champ d’une relation.
Elle s’exprime de la manière suivante :
• Tout champ contient une valeur atomique.

31/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Exemple 1NF

Soit la relation suivante:


PUBLICATION(NumPubli, Titre, Auteurs)
La relation suivante est elle en première forme normale?

NumPubli Titre Auteurs


1235 L’avenir lumineux Karim , Yassine,
Meriem
4587 Evolution technologique Saad, Zakaria
9854 Développement rapide Zineb, Ahmed

32/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Exemple 1NF

Soit la relation suivante:


PUBLICATION(NumPubli, Titre, Auteurs)
La relation suivante est elle en première forme normale?

NumPubli Titre Auteurs


1235 L’avenir lumineux Karim , Yassine,
Meriem
4587 Evolution technologique Saad, Zakaria
9854 Développement rapide Zineb, Ahmed

32/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Solution 1NF

Solution 1: Décomposer le champ Auteurs en Auteur_1,


Auteur_2, Auteur_3, Auteur_4.
Solution 2: Décomposer cette relation en trois relations :
PUBLICATION(NumPubli, Titre)
AUTEUR(NumAuteur, Nom, Prenom)
EstEcrite(NumPubli, NumAuteur)

33/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Solution 1NF

Solution 1: Décomposer le champ Auteurs en Auteur_1,


Auteur_2, Auteur_3, Auteur_4.
Solution 2: Décomposer cette relation en trois relations :
PUBLICATION(NumPubli, Titre)
AUTEUR(NumAuteur, Nom, Prenom)
EstEcrite(NumPubli, NumAuteur)

33/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Deuxième forme normale

Une relation doit déjà se trouver en première forme normale


pour être en deuxième forme normale.
Elle interdit les dépendances possibles entre les champs qui
composent la clé et les autres champs.
Elle s’exprime de la manière suivante :
• La relation est en première forme normale.
• Tout champ qui n’appartient pas à la clé ne dépend pas
d’une partie de la clé.

34/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Deuxième forme normale

Une relation doit déjà se trouver en première forme normale


pour être en deuxième forme normale.
Elle interdit les dépendances possibles entre les champs qui
composent la clé et les autres champs.
Elle s’exprime de la manière suivante :
• La relation est en première forme normale.
• Tout champ qui n’appartient pas à la clé ne dépend pas
d’une partie de la clé.

34/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Deuxième forme normale

Une relation doit déjà se trouver en première forme normale


pour être en deuxième forme normale.
Elle interdit les dépendances possibles entre les champs qui
composent la clé et les autres champs.
Elle s’exprime de la manière suivante :
• La relation est en première forme normale.
• Tout champ qui n’appartient pas à la clé ne dépend pas
d’une partie de la clé.

34/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Exemple 2NF

Soit la relation suivante:


PRODUIT(NomArticle, NomFournisseur, Ville, Prix)
La relation suivante est elle en deuxième forme normale?

NomArticle NomFournisseur Ville Prix


Clavier Microchoix Rabat 125
Souris Surcout Casablanca 80
Souris Microchoix Rabat 65
USB Electroplanet Rabat 150
Ecran Surcout Casablanca 1000

35/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Exemple 2NF

Soit la relation suivante:


PRODUIT(NomArticle, NomFournisseur, Ville, Prix)
La relation suivante est elle en deuxième forme normale?

NomArticle NomFournisseur Ville Prix


Clavier Microchoix Rabat 125
Souris Surcout Casablanca 80
Souris Microchoix Rabat 65
USB Electroplanet Rabat 150
Ecran Surcout Casablanca 1000

35/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Solution 2NF

La clé est constituée des champs nomArticle et nomFournisseur.


Or, il y a une relation de dépendance entre le champ
nomFournisseur, qui est une partie de la clé, et le champ Ville.
On décompose alors la relation pour éliminer la redondance
ainsi créée.
PRODUIT(NomArticle, NomFournisseur, Prix)
FOURNISSEUR(NomFournisseur, Ville)

36/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Solution 2NF

La clé est constituée des champs nomArticle et nomFournisseur.


Or, il y a une relation de dépendance entre le champ
nomFournisseur, qui est une partie de la clé, et le champ Ville.
On décompose alors la relation pour éliminer la redondance
ainsi créée.
PRODUIT(NomArticle, NomFournisseur, Prix)
FOURNISSEUR(NomFournisseur, Ville)

36/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Solution 2NF

La clé est constituée des champs nomArticle et nomFournisseur.


Or, il y a une relation de dépendance entre le champ
nomFournisseur, qui est une partie de la clé, et le champ Ville.
On décompose alors la relation pour éliminer la redondance
ainsi créée.
PRODUIT(NomArticle, NomFournisseur, Prix)
FOURNISSEUR(NomFournisseur, Ville)

36/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Troisième forme normale

On cherche s’il existe une dépendance entre deux champs qui


ne font pas partie d’une clé.
La troisième forme normale interdit donc les dépendances dites
entre les champs.
Elle s’exprime de la manière suivante :
• La relation est en deuxième forme normale (donc en
première forme normale).
• Tout champ n’appartenant pas à une clé ne dépend pas
d’un autre champ non clé.

37/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Troisième forme normale

On cherche s’il existe une dépendance entre deux champs qui


ne font pas partie d’une clé.
La troisième forme normale interdit donc les dépendances dites
entre les champs.
Elle s’exprime de la manière suivante :
• La relation est en deuxième forme normale (donc en
première forme normale).
• Tout champ n’appartenant pas à une clé ne dépend pas
d’un autre champ non clé.

37/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Troisième forme normale

On cherche s’il existe une dépendance entre deux champs qui


ne font pas partie d’une clé.
La troisième forme normale interdit donc les dépendances dites
entre les champs.
Elle s’exprime de la manière suivante :
• La relation est en deuxième forme normale (donc en
première forme normale).
• Tout champ n’appartenant pas à une clé ne dépend pas
d’un autre champ non clé.

37/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Exemple 3NF

Soit la relation suivante:


BALADEUR (Numbal, Marque, Type, Couleur)
La relation suivante est elle en troisième forme normale?

NumBal Marque Type Couleur


12 Apple Ipod Blanc
43 Creative Zen Noir
23 Apple Ipod Noir
29 Creative Zen Gris
34 Sony MZ Rouge

38/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Exemple 3NF

Soit la relation suivante:


BALADEUR (Numbal, Marque, Type, Couleur)
La relation suivante est elle en troisième forme normale?

NumBal Marque Type Couleur


12 Apple Ipod Blanc
43 Creative Zen Noir
23 Apple Ipod Noir
29 Creative Zen Gris
34 Sony MZ Rouge

38/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Solution 3NF

La clé de cette relation est un numéro, NumBal, car il peut y


avoir dans notre stock plusieurs baladeurs de même marque, de
même type et de même couleur.
Les marques déposent les noms des objets qu’elles fabriquent
de façon à les identifier sur le marché.
Il existe donc une dépendance entre le champ Type (qui
n’appartient pas à la clé) et le champ Marque (qui n’appartient
pas à la clé)
• BALADEUR(NumBal, Type, Couleur)
• BALADEUR_TYPE(Type, Marque)

39/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Solution 3NF

La clé de cette relation est un numéro, NumBal, car il peut y


avoir dans notre stock plusieurs baladeurs de même marque, de
même type et de même couleur.
Les marques déposent les noms des objets qu’elles fabriquent
de façon à les identifier sur le marché.
Il existe donc une dépendance entre le champ Type (qui
n’appartient pas à la clé) et le champ Marque (qui n’appartient
pas à la clé)
• BALADEUR(NumBal, Type, Couleur)
• BALADEUR_TYPE(Type, Marque)

39/39

Mohammed KHALIL Chapitre 3: Modèle relationnel


Passage au modèle relationnel
1NF, 2NF, 3NF
Normalisation

Solution 3NF

La clé de cette relation est un numéro, NumBal, car il peut y


avoir dans notre stock plusieurs baladeurs de même marque, de
même type et de même couleur.
Les marques déposent les noms des objets qu’elles fabriquent
de façon à les identifier sur le marché.
Il existe donc une dépendance entre le champ Type (qui
n’appartient pas à la clé) et le champ Marque (qui n’appartient
pas à la clé)
• BALADEUR(NumBal, Type, Couleur)
• BALADEUR_TYPE(Type, Marque)

39/39

Mohammed KHALIL Chapitre 3: Modèle relationnel

Vous aimerez peut-être aussi