Sie sind auf Seite 1von 17

Institut National d’Informatique

INI. Oued Smar, Alger

Cours Bases de données


3eme Année SI
Chapitre 03

Le modèle Relationnel
Leçon N 01

Mr DAHAK Fouad
Chargé de cours Bases de données 3SI
Concepts de base
Institut National d’Informatique
(INI, Oued Smar Alger)
f_dahak@ini.dz
www.ini.dz/~dahak
 

Introduction Pourquoi un tel succès

Le modèle relationnel a Simplicité de la structure des données :


été défini par E.F Codd dans
les années 70 et de nombreux Une base relationnelle est composée de
chercheurs ont contribué à tables et est perçue par l'utilisateur comme un
son développement. Les ensemble de tables et rien d'autre. Dans une
premiers SGBD bâtis sur ce table, une ligne correspond à un enregistrement
modèle ont été SQL/DS et et une colonne à un champ de cet
DB2 de IBM, d'où est né le enregistrement.
langage de manipulation de
bases relationnelles, SQL
(Structured Query Language).
 

Pourquoi un tel succès Concepts de base

Simplicité des opérateurs : Domaine


Définition : Un domaine est un ensemble de
Toute opération relationnelle sur une table valeurs atomiques
génère une nouvelle table, c'est-à-dire fonctionne
sur un ensemble de données sans que l'on ait à
– ENTIER
se préoccuper de traiter successivement chacune
– REEL
des données récupérées par l'opération.
– CHAINES DE CARACTERES
– SALAIRE = {4 000..100 000}
– COULEUR= {BLEU, BLANC, ROUGE}
– POINT = {(X:REEL,Y:REEL)}
– TRIANGLE = {(P1:POINT,P2:POINT,P3:POINT)}
 


 
Concepts de base Concepts de base
Produit cartésien Relation

Définition : Le produit cartésien D1x D2x... x Dn est Définition : Une relation est un sous-ensemble nommé
l’ensemble des tuples (n-uplets) <V1,V2,....Vn> tq du produit cartésien d’une liste de domaines.
∀i, Vi ∈ Di
Elle est notée R(A1:D1,…,An:Dn) où D1…Dn sont des
Exemple: D1XD2
domaines, comme on peut également la noter sans
Bleu Vrai
– D1 = {Bleu,Blanc,Rouge} Bleu Faux mentionner les domaines : R(A1,A2,…,An)
– D2 = {Vrai, Faux} Blanc Vrai
Blanc Faux
Rouge Vrai
Rouge Faux

Concepts de base Concepts de base


Relation Relation

D1 = COULEUR Extension d’une relation : L’extension d’une relation


D2 = BOOLEEN R(A1:D1,…,An:Dn) est un ensemble de n-uplets

{A1=V1,…,An=Vn} tq V1 D1,…,Vn Dn ∈
CouleurVéhicule Couleur Existe
Bleu Faux Note : L’extension d’une relation est variable au
Blanc Vrai
cours de la vie d’une base de données.
Rouge Vrai

Concepts de base Concepts de base


Relation Relation
Vision Assertionnelle
Vision tabulaire du relationnel
o Une relation est une table à deux dimensions
A toute relation de schéma R(A1:D1,…,An:Dn) il
o Une ligne est un tuple est associé un prédicat R tel que l’assertion R t est vraie
o Un nom est associé à chaque colonne afin de la si le n-uplet t appartient à l’extension de R et fausse
repérer indépendamment de son numéro d'ordre sinon.


 
Concepts de base Concepts de base
Relation Attribut
Personne (Nom:Chaîne, Age:Entier, Marié:Booléen)
Définition : Un attribut est un nom donné à une
Et d’extension : {{Nom=‘’Hakim’’, Age=23, Marié = colonne d'une relation, il prend ses valeurs dans un
Faux},{Nom=‘’Saida’’, Age=28, Marié =Vrai}} domaine.

Assertionnelle Personne{Nom=‘’Hakim’’, Age=23, Marié=Faux} Vraie


Personne{Nom=‘’Lila’’, Age=35, Marié=Vrai} Faux Exemple
Personne{Nom=‘’Lila’’, Age=23, Marié=Faux} Faux

Tabulaire Nom, Age et Marié sont des attributs de Personne


Nom Age Marié
Hakim 23 Faux
Lila 36 Vrai

Concepts de base Concepts de base


Clé Schéma

Définition : C’set un groupe d’attributs minimum qui Définition : Nom de la relation, liste des attributs avec
détermine un tuple unique dans une relation. domaines, et liste des clés d’une relation.

Exemples:
Exemple
– {modèle,Année} DANS Voiture Æ Couleur, Type
– NSS Dans Personne
Voiture(Modèle: texte, Année:Int, Couleur:texte, Type:
texte)
Contrainte : Toute relation doit posséder au
moins une clé.

Concepts de base Concepts de base


Schéma Clé étrangère

Intention et extension d’une relation Définition : Groupe d’attributs devant apparaître


comme clé dans une autre relation.
- Un schéma de relation définit l'intention de la relation
- Une instance de table représente une extension de la
relation PERSONNE (NSS, NOM, PRENOM)
VOITURE (MODELE, ANNEE, COULEUR, TYPE,NSS)
Schéma d’une base de données
CLES ETRANGERES
C'est l'ensemble des schémas des relations VOITURE.NSS référence PERSONNE.NSS
composantes
 


 
Concepts de base Exercice
Clé étrangère Soit les domaines suivants :

Les clés étrangères définissent les contraintes d'intégrité D1 = Couleur


référentielles : D2 = {Peugeot, Renault, Hyundai, Mercedes}
D3 = {Jan,Fév,Mar,Avr,Mai,Jui,Jui,Aoû,Sep}
™ Lors d'une insertion, la valeur des attributs doit D4 = {307, Terracan, Santa fe, Benz, Trafic}
exister dans la relation référencée. D5 = Texte
™ Lors d'une suppression dans la relation D6 = Date
référencée les tuples référençant doivent disparaître.
™ Elles correspondent aux liens entité-association Question 1 : Donner le produit cartésien D2xD4
obligatoires. Question 2 : Donner un exemple d’une relation
 

De l’EA au relationnel De l’EA au relationnel

Règle 1 : Entité non faible

Une entité E non faible est représentée par


une relation T dont les attributs simples sont les
Entité Association Relationnel
Modèle Conceptuel Modèle logique
attributs de l'entité E. De plus, la clé de T est
l'identifiant de E.
Entité
Association Relation Personne
Cardinalités - Nss Personne (Nss,Nom,Prénom,Adresse)
- Nom
- Prénom
- adresse

De l’EA au relationnel De l’EA au relationnel

Règle 2 : Relation 1:n Règle 3 : Relation n:m


Dans le cas d’une relation 1:n (Père/fils), Dans le cas d’une relation n:n, l’association A est
l’association n’est pas représentée par une relation, représentée par une relation T dont les attributs sont les
cependant ses attributs migrent vers la relation représentant attributs de A et la clé est la concaténation des clés des
le fils et la clé du père migre vers le fils comme clé. entités participant à l’association A.
0,n 1,1 1,n 0,n
Personne Achète Voiture Personne Habite Maison
- Nss -date - Nchassis - Nss -date - NMais
- Nom - Marque - Nom - Adresse
- Prénom - Prénom

Personne (Nss,Nom,Prénom)
Personne (Nss,Nom,Prénom) Maison(Nmais,Adresse)
Voiture(Nchassis,Marque,NSS,date) Habite(NSS,NMAIS,date)
 


 
De l’EA au relationnel De l’EA au relationnel

Règle 4 : Entité faible Règle 5 : Généralisation/Spécialisation


Le passage d’une entité faible à un schéma Dans le cas d’une généralisation / spécialisation, il
relationnel est identique à celui d’une association 1-n existe trois manières de passer au schéma relationnel :
classique. La seule nuance est que la clé étrangère est une
partie de l’identifiant de l’entité faible. Premier Cas :
Personnel
0,n 1,1
Cinéma Possède Salle - Nss Personnel(NSS,Nom,Prénom)
- Nom
- NCiné - NSalle - Prénom
Médecin(NSS,Spécialité)
- Nom - nbPlace Infirmier(NSS,Niveau)
- Adresse

Médecin Infirmier
Cinéma(NCiné,Nom, Adresse)
- Spécialité - Niveau
Salle(Nsalle,NCiné,nbPlace)
 

De l’EA au relationnel De l’EA au relationnel

Règle 5 : Généralisation/Spécialisation Règle 5 : Généralisation/Spécialisation


Dans le cas d’une généralisation / spécialisation, il Dans le cas d’une généralisation / spécialisation, il
existe trois manières de passer au schéma relationnel : existe trois manières de passer au schéma relationnel :
Deuxième Cas : Push down Troisième Cas : Push up
Personnel Personnel
- Nss Personnel(NSS,Nom,Prénom) - Nss
Personnel(NSS,Nom,Prénom,
- Nom - Nom
- Prénom
Médecin(NSS,Nom,Prénom,Spécialité) - Prénom spécialité, niveau)
Infirmier(NSS,Nom,Prénom,Niveau)

Médecin Infirmier Médecin Infirmier


- Spécialité - Niveau - Spécialité - Niveau

De l’EA au relationnel De l’EA au relationnel

Cas Particuliers Cas Particuliers


Dans le cas d’une association 1 : 1 Dans le cas d’une entité avec un seul attribut

0,1 1,1 0,n 0,n


Patient Possède Décès Personne Emprunte Livre
- NP - ND - NP - NL
- Nom -Date - Nom 0,n -Titre
- Adresse -Lieu - Adresse
Date
- Date
Patient(NP,Nom, Adresse,ND)
Décès(ND,Date,Lieu,NP) Personne(NP,Nom, Adresse)
Livre(NL,Titre)
Décès(NP,Date,Lieu) Emprunte(NP,NL,Date)
 


 
Introduction

La notion de dépendance
Leçon N 02 fonctionnelle permet d'établir des
liens sémantiques entre attributs ou
Les Dépendances groupe d'attributs.
Fonctionnelles
 

Notation Définition 1
On écrit : Étant donné une relation R, nous disons qu'il
AÆB y a dépendance fonctionnelle (DF) de X de R vers
Source Æ Destination (Cible) Y de R si à une valeur de X est associée au plus
une valeur de Y.
On Lit :

• Il existe une dépendance fonctionnelle de A vers B Question à se poser :


• A détemine B;
Connaissant la valeur de X, puis-je connaître
• B dépend fonctionnellement de A
la valeur de Y ?

Définition 2 Définition 3

Soit R(A1, A2,…,An) une relation, et X et Y des sous-


Soit une table de schéma relationnel (A, B, C…)
ensembles de {A1,A2,…,An}. On dit que XÆY si pour
Il existe une dépendance fonctionnelle de A vers B
toute extension r de R, pour tout tuple t1, t2 de r, on a :
si et seulement si, pour toutes valeurs a1, a2… de
A, Si a1 = a2 Alors b1 = b2.
∏ X (t1) = ∏ X (t 2) ⇒∏ Y (t1) = ∏ Y (t 2)


 
Exemple DF élémentaires

Une DF A Æ B est élémentaire, s'il n'existe


Voiture(Châssis,Couleur,Type,Marque,Puissance) pas C, inclus dans A, qui assure lui-même
une DF C Æ B.
Châssis Æ Couleur
Type Æ Marque Ref_Article Æ Nom_Article VRAI
Type Æ Puissance Num_Facture, Ref_Article Æ Qte_Article VRAI
Num_Facture, Ref_Article Æ Nom_Article FAUX
(Type,Marque) Æ Puissance

DF directe DF triviale

Une DF A Æ B est directe, s'il n'existe pas un Une DF est dite triviale s’il est impossible qu’elle ne
attribut C qui engendrerait une DF transitive soit pas satisfaite. Une DF est triviale si et
seulement si le membre droit est un sous-ensemble
A Æ C Æ B. du membre gauche.
A1, A2, …, An → B1, B2, …, Bm
Num_Facture Æ Num_Représentant VRAI Triviale : Si B1, B2, …, Bm est sous-ensemble de
Num_Représentant Æ Nom_Représentant VRAI A1,A2,..,An
Num_Facture Æ Nom_Représentant FAUX Non triviale : Si au moins un Bi n’appartient pas à
A1,A2,..,An
Complètement non triviale : Si aucun des Bi n’appartient
à A1,A2,…,An
 

Graphe des DF Exercice

Commande(Num,Date,Client,Article,Prix,Quantité) Etudiant ID NOM AGE CITE


Num Æ Date S1 Kamal 20 Alger
Num Æ Client S2 Halim 34 Bouira
Article Æ Prix Num Article S3 Omar 30 Bouira
(Article,Num) Æ Quantité
S4 Imane 20 Alger
S5 Samira 30 INAS
Date Client Prix
Extraire les DFs existantes dans R ?
Quantité Donner une DF pour chaque type de DF (élémentaire,
directe et triviale)
 


 
Axiomes d’Armstrong Axiomes d’Armstrong

Définition de l’inférence : Si F est un


ensemble de DFs sur R, (couverture
(i) Réflexivité Y ⊆ X ⇒ X →Y
fonctionnelle de R), une DF: X Æ Y est inférée
(déduite) de F si X Æ Y est valide pour tout tuple (ii) Augmentation X → Y ⇒ XZ → YZ
d'une extension de R.
(iii) Transitivité X → Y ,Y → Z ⇒ X → Z

Axiomes d’Armstrong Axiomes d’Armstrong

NOTE : Il est prouvé que les règles d'Armstrong


sont fondées et complètes.
Projection X → YZ ⇒ X → Y
• Toute DF inférée en utilisant (i) à (iii) est une DF
inférée, Union (addition) X → Y , X → Z ⇒ X → YZ
• Toute DF qui peut être inférée de F, peut être
Pseudo-transitivité X → Y , WY → Z ⇒ WX → Z
inférée en utilisant seulement (i), (ii) et (iii).

Axiomes d’Armstrong La fermeture transitive


Définition : Si F est un ensemble de DFs sur R, la
Décomposition fermeture transitive de F notée F+ est l'ensemble
X → YZ ⇒ X → Y , X → Z
des DFs qui peuvent être inférées de F par
Auto-Détermiation X → X transitivité.

Composition X → Y , V → Z ⇒ XV → YZ Exemple pour Voiture on a :


F={Châssis Æ Type; Type Æ Marque; Type Æ Puissance}
Augmentation X → Y ⇒ XW → Y F+=F UNION {Châssis Æ Marque; Châssis Æ Puissance}
à gauche


 
La fermeture transitive Fermeture d’un attribut
Définition : La fermeture d'un attribut X par rapport à
Règle : Deux ensembles de DF sont F notée X+(F) est l'ensemble des attributs
équivalents s’ils ont la même fermeture fonctionnellement dépendants de X sous la
couverture fonctionnelle F.
transitive.
Employé(NE, ENom, NP, PNom, Loc, Temps)
F = { NE Æ ENom ; NP Æ {PNom, Loc} ; {NE,NP} Æ Temps}
NE+ = {NE , ENom }
NP+ = {NP, PNom, Loc }
{NE,NP}+ = {NE,NP,ENom,PNom,Loc,Temps}
 

Algorithme de calcul de X+ Couverture minimale


Result Å X Définition : une couverture minimale appelée aussi
TQ (Result évolue)
couverture irrédondante et notée IRR(F) est
Pour chaque DF: YÆZ dans F Faire
SI Y ⊆ result ALORS result:=result ∪ Z l’ensemble F de DF élémentaires associé à un
FTQ ensemble d’attributs vérifiant les propriétés
suivantes:
Exemple
• Aucune dépendance dans F n’est redondante;
F={AÆB,C; AÆH; BÆH; C,GÆI; A,BÆI}
• Toute DF élémentaire des attributs est dans
AG+ ? F+;

Couverture minimale Algorithme de IRR(F)


Couverture(F);
Begin
IRR := F
C’est le sous-ensemble Remplacer Chaque DF X Æ (A1,…,An) IRR par n DF
X Æ A1,…, X Æ An
minimal de DF Pour chaque DF f =X Æ A dans IRR
permettant de générer SI (IRR – {f}) Implique {f} Alors
IRR = IRR - {f}
toutes les autres. FSI
FPOUR
Return IRR
Fin
 


 
Exemple 1 Clé candidate
F = {ABÆC, DÆEG, CÆA, BEÆC, BCÆD,
Soit une relation R.
CGÆBD, ACDÆB, CEÆAG}
SI R ne contient qu'un seul attribut ALORS
Solution : cet attribut forme l'unique clé candidate de R
Première étape : décomposer les df de telle sorte que les SINON
parties droites se composent d’un seul attribut. Soient X et Y deux ensembles non vides disjoints d'attributs de R
ABÆC DÆE DÆG BEÆC tel que X Union Y = R.
BCÆD CGÆBD ACDÆB CEÆA SI on a X →Y Avec X minimal ALORS
CEÆG X est une clé candidate de R (il peut y en avoir plusieurs).
SINON (Aucun X ne peut être trouvé ainsi) ALORS
l'unique clé candidate de R est formée de tous ses attributs.
FSI

Clé et superclé Exercice

La clé est un sous-ensemble X des attributs d’une relation


1. R(A1,A2,…,An) tq: XÆA1,A2,…,An On considère la relation R(A,B,C) sur laquelle sont
2. Il n’existe pas de sous-ensemble Y ∈ X tq Y → A1A2... An définies les dépendances fonctionnelles suivantes
Une clé est un ensemble minimal d’attributs qui détermine tous les AÆB
autres.
Un ensemble d’attributs qui inclut une clé est appelé superclé.
A,B Æ C

Indication : Pour vérifier que X est minimal, il faut contrôler qu'il Démontrez par les axiomes d’Armstrong que
n'est pas possible de prendre un attribut de X pour le mettre dans AÆC
Y tout en maintenant X →Y.

Théorie de la normalisation

Cette théorie est basée sur les (DF) qui


permettent de décomposer l'ensemble des informations
Leçon N 03 en diverses relations. Chaque nouvelle forme normale
marque une étape supplémentaire de la progression
vers des relations présentant de moins en moins de
La normalisation des relations
redondance.

10 
 
La relation universelle Pourquoi normaliser

Définition : La relation universelle est la relation qui ENSEIGNEMENTS(Numens, Nomens, Numat, Nomat, Coefficient)
regroupe toutes les informations à stocker.
Problèmes

Relation Dépendances ™ Au niveau sémantique


universelle Fonctionnelles
™ Au niveau de la redondance d'informations
™ Au niveau des mises à jour
¾ Anomalie de modification
Normalisation
R1(…) ¾ Anomalie d’insertion
R2(…)
R3(…)
¾ Anomalie de suppression
.
.
.

Pourquoi normaliser Première forme normale

Définition : Une relation est en première forme normale


si et seulement si tous ses attributs ont des valeurs
9 pour limiter les redondances de données, simples (non multiples, non composées).

9 pour limiter les pertes de données, Conséquences :

• Un attribut représente une donnée élémentaire du


9 pour limiter les incohérences au sein des données
monde réel
• Un attribut ne peut désigner, ni une donnée composée
9 pour améliorer les performances des traitements. d’entité de nature quelconque, ni une liste de données de
même nature.
 

Première forme normale Normaliser en 1NF

Exemple 1ère solution : Créer autant d’attributs que le nombre


maximum de valeurs de l’attribut multi-valué
Pers1(nom, prénom, rueEtVille, prénomEnfants) (stockage horizontal).
Pers2(nom, prénom, nombreEnfants)
2ème solution : Créer une nouvelle relation
comportant la clef de la relation initiale et l’attribut
multi-valué puis éliminer l’attributs multi-valué de la
relation initiale (stockage vertical).

11 
 
Deuxième forme normale Deuxième forme normale
Définition : Une relation est en deuxième forme normale Exemple
si et seulement si :
• elle est en première forme normale, Enseignement(NUM, CODE_MATIERE, NOM,
• tout attribut n’appartenant pas à une clé ne dépend VOLUME_HORAIRE)
pas que d’une partie de cette clé. Avec: NUMÆNom

A,B

DF partielle

C D
 

Normaliser en 2NF Troisième forme normale


1. Isoler la DF partielle dans une nouvelle relation Définition : Une relation est en troisième forme normale
2. Éliminer l’attribut cible de la DF de la relation si et seulement si :
initiale • elle est en deuxième forme normale,
• tout attribut n’appartenant pas à une clé ne dépend
A A,B pas d’un attribut non clé.

A,B

C D C D
D
DF Transitive
A,B C
Une relation en 1 NF dont la clef est mono-attribut B
est forcément en 2 NF.
 

Troisième forme normale Normaliser en 3NF

Exemple : 1. Isoler la DF transitive dans une nouvelle relation


2. Éliminer la cible de la DF de la relation initiale
ENSEIGNANT(NUM, NOM, CATEGORIE, CLASSE,
SALAIRE)
avec CATEGORIE,CLASSE Æ SALAIRE
A,B E A,B


E D C D E C

12 
 
Forme normale de Boyce Codd Forme normale de Boyce Codd
Définition : Une relation est en forme normale de Boyce Exemple :
Codd si et seulement si :
• elle est en deuxième forme normale, ADRESSE(Rue, Commune, Bureau-Postal, Code Postal)
• toute source de DF est une clé primaire minimale
F={Rue,Commune, Bureau-PostalÆCodePostal;
C
CodePostalÆCommune}
Attributs atomiques Î 1 NF
A,B D Toutes les DF de source AB sont minimales Î 2 NF
Pas de transitivité entre attribut non clef Î 3NF
E

EÆB

Forme normale de Boyce Codd Normaliser en BCNF


Remarques 1. Isoler la DF problématique dans une nouvelle
relation
‰ SI R est en BCNF alors elle est en 3 NF 2. Éliminer la cible de cette DF et la remplacer par sa
source dans la relation initiale.
‰ SI R est en 3 NF alors elle n’est pas forcément en
BCNF
B,A E A,E

E D C B D C

Résumé Exercice

Éliminer toute dépendance entre Soit le schéma relationnel suivant


deux attributs ne faisant pas partie recette(temps, mode, nom)
de la clé primaire ingredient(recette, quantité, nom, type, unité)

A. Donnez les dépendances fonctionnelles de ce schéma.


B. Le schéma est-il en 1FN? Expliquez pourquoi.
1FN 2FN 3FN BCFN C. Le schéma est-il en 2FN? Expliquez pourquoi.
D. Le schéma est-il en 3FN? Expliquez pourquoi.
E. Proposez une décomposition de la relation ingrédient en deux
Éliminer toute dépendance Éliminer toute dépendance à relations qui permettent à ce schéma d'être en seconde forme
non totale des attributs sur la partir d’un attribut vers une normale.
clé primaire partie de la clé primaire F. Proposez une décomposition du schéma précédent qui lui
permette d'être en 3FN

13 
 
DF Multivaluées

Observations

NE Cours Sport
Leçon N 04 100 BDD Tennis
100 RESEAU Tennis
100 BDD Foot
100 BDD Vélo
Les dépendances multivaluées 100 RESEAU Vélo
La BCNF n’est pas suffisante pour 200 RESEAU Vélo
éliminer les redondances.
 

Dépendances multivaluées Exemple


Définition : Soit R(Ai) un schéma de relation, et X et Y Remarque : XÆÆ Y Alors X ÆÆ Ai − {X U Y}.
des sous-ensembles de Ai. On dit que X ÆÆ Y (X
multidétérmine Y, ou il y’a une dépendance multivaluée de un employé est qualifié pour effectuer un certain type d’intervention sur
certaines marques de voiture.
Y sur X) si, étant donné des valeurs de X, il y a un
ensemble de Y associées et cet ensemble est indépendant – Employé(Nom-Employé)
des autres attributs Z=R-X-Y de la relation R. – Intervention(Type-Intervetion)
– Constructeur(Marque)
– Intervenir(Nom-Employé, Type-Intervetion, Marque)

NE COURS Supposons qu’un employé est capable d’effectuer chacun des types
d’interventions sur chacune des marques de voitures. Dans ce cas, il
existe des dépendances multivaluées dans la relation Intervenir :
SPORT
Nom-Employé ÆÆType-Intervetion et Nom-Employé ÆÆMarque.

Exemple Quatrième forme normale


La relation suivante est en BCNF mais il existe encore des Définition : Une relation est en quatrième forme normale
redondances si et seulement si :
• Elle est en BCNF,
• les seules dépendances multivaluées sont celles dans
lesquelles une superclé détermine un attribut.

R n’est pas en 4NF si l’on peut trouver une Dm de la


forme XÆÆY où X n’inclut pas une clé de R.

R est en 4NF SSi, chaque fois qu’on a XÆÆY alors


les autres attributs de R dépendent de X.
 

14 
 
Normaliser en 4NF Dépendance de jointure

R R1 R11
Soit R une relation et F un ensemble de dépendances
(fonctionnelles et multivaluées). R2 R12
Si R n’est pas en 4NF, soit une dépendance XÆÆY
de F+ telle que Il existe cependant des relations qui ne peuvent pas
• Y n’est pas vide; être décomposées sans perte d’information en deux
• Y n’est pas inclus dans X projections, mais qui peuvent l’être en trois ou plus.
• XY sont inclus dans R et X n’est pas une superclé.
Projection
On décompose R en R1=XY et R2=X(R-XY) DJ
Jointure

Dépendance de jointure Dépendance de jointure

Définition : La jointure est une opération portant sur


Définition : La projection consiste à supprimer les
deux relations R1 et R2 qui construit une troisième
attributs autres que A1, . . .An d’une relation et à relation regroupant exclusivement toutes les
possibilités de combinaison des occurrences des
éliminer les n-uplets en double apparaissant dans
relations R1 et R2 qui satisfont l’expression logique
la nouvelle relation. On la note ∏(A1, ...An)R. E. Elle est notée R1 R2.

relation relation expression logique Æ relation

Dépendance de jointure Cinquième forme normale

Définition : Soient X1,X2, . . . ,Xn des sous- Définition : Une relation R est en cinquième forme
ensembles d’un schéma de relation R. Il y a une normale si, pour toute dépendance de jointure
dépendance de jointure, notée *{X1,X2,...,Xn} dans *{X1,X2, . . . ,Xn} dans R, chacun des Xi contient
la relation R, si : une clé candidate de R.

R = ∏(X1)R ∏(X2)R ... ∏(Xn)R

15 
 
Cinquième forme normale Conclusion
Relation Fournisseur

Fournisseur Article Organisme Les formes normales sont différents stades de


f1 a2 o1 qualité qui permettent d’éviter la redondance dans
f1 a1 o2 les BDD relationnelles afin d’éviter ou de limiter.
f2 a1 o1
f1 a1 o1
La normalisation induit des coûts d’exécution
supplémentaires, garantie la fiabilité des
Fournisseur Article Fournisseur Organisme Article Organisme
informations et réduit les temps d’accès (augmente
f1 a2 f1 o1 a2 o1
f1 a1 f1 o2 a1 o2
le nombre d’index automatique)
f2 a1 f2 o1 a1 o1

Exercice 1 Exercice 2

R={Spectacle, Auteur, Catégorie, Date, Heure}


F = {AB→C, A→D, CD→EF}
– Prouvez qu’on peut déduire AB→F
Quelles sont les dépendances fonctionnelles ?
Donnez une couverture minimale.
R(A,B,C,D,E) Donnez une clé pour R.
F={A→BC, B→D, D→E, C→AD} Quelles formes normales R vérifie ?
– Trouvez toutes les clés minimales

Exercice 3 Exercice 4

A, B, C, D, E R={Match, Arbitre, Heure, Date, Stade, Ville,


F={CDEF→A, ACE→B, CE→DF, F→C, D→E} Joueur, Equipe}
Clé : {H D J}
Trouvez une couverture minimale de F. F= { M →A, HDS →M, HDA →S, HDJ →S, S
Trouvez toutes les clés minimale de R muni de F →V, J →E}
Quelles formes normales R muni de F vérifie?
Décomposez en FN3 et FNBC Décomposez en FNBC

16 
 
Par décomposition
Remplacer la relation R(A1,A2,…,An) par
une collection de relations R1,R2,…,Rp
Relation obtenues par projection de R sur des
DF sous ensembles d’attributs dont l’union
universelle
contient tous les attributs de R.

Leçon N 05 Décomposition Sans perte

Pour toute extension de R on ait

Schéma en
3NF
R = R1 R2 … Rn

Conception d’un schéma


Théorème de Heath: Toute relation R(X,Y,Z) est décomposable
relationnel sans perte d'information en R1=π[X,Y]R et R2=π[X,Z]R s'il y a dans
R une dépendance fonctionnelle de X vers Y (X→Y).
 

Algorithme de décomposition Approche par synthèse

Procédure Décomposition(R:Relation universelle; F:Ensemble des DF)


Début
Result = {R} Ensemble
SI (Il existe Ri de Result TQ Ri n’est pas en BCNF) Alors DF
d’attributs
Début Recomposition des
Chercher une DF non triviale XÆY dans F+ sur Ri tq X n’est pas une clé relations à partir d’un
Décomposition((Result-Ri) U (Ri-Y) U (XY)); ensemble d’attributs
Fin; Synthèse indépendants.

Pour tout Ri(∆i) et Rj(∆j) tq ∆i INCLUS ∆j dans Result Faire Supprimer(Ri);


Return Result; Schéma en
3NF
Fin;
 

Algorithme de synthèse

Procédure Synthèse(R:Relation universelle; F:Ensemble des DF)


Début

1. IRR(F) = Couverture irrédondante(F);


2. Partitionner IRR(F) en F1, F2,…, Fn Tq toutes les DF d’un même
groupe aient la même partie gauche.
3. Construire les Ri(∆i) avec ∆i constitué de l’union des
attributs de Fi
4. Si il reste des attributs isolés Alors on les regroupe dans une
relation ayant comme clé l’ensemble de ces attributs.
Fin;

17 
 

Das könnte Ihnen auch gefallen