Vous êtes sur la page 1sur 112

Universit Mohamed premier Anne universitaire 11/12

Facult des sciences Filire SMI, S5


Dpartement de Mathmatiques
et dinformatique
Bases de donnes et systmes Bases de donnes et systmes
dinformation dinformation
Professeur : M. MOUSSI Professeur : M. MOUSSI
Bases de donnes et systmes Bases de donnes et systmes
dinformation dinformation
Professeur : M. MOUSSI Professeur : M. MOUSSI
1
M. Moussi
http://Naj7in.com/fac
Plan du cours :
Partie I : Concepts gnraux.
Partie II : Bases de donnes relationnelles
Partie III : initiation au Langage SQL.
2
M. Moussi
http://Naj7in.com/fac
Premire partie :
Concepts gnraux.
3
M. Moussi
http://Naj7in.com/fac
Plan :
Introduction.
Dfinitions.
composants lis la gestion dune base de
donnes.
Fonctions fournies par un SGBD.
Indpendance des donnes.
Architecture dun SGBD.
Principe de fonctionnement dun SGBD.
Cycle de vie dune base de donnes.
Introduction.
Dfinitions.
composants lis la gestion dune base de
donnes.
Fonctions fournies par un SGBD.
Indpendance des donnes.
Architecture dun SGBD.
Principe de fonctionnement dun SGBD.
Cycle de vie dune base de donnes.
4
M. Moussi
http://Naj7in.com/fac
Introduction
Tout le monde utilise rgulirement les bases
de donnes (manuelles ou automatises).
Inconvnients de la gestion manuelle :
La recherche dinformation est lente, exemple :
gestion des informations dun meuble
Les feuilles peuvent tre perdues ou dchires,
donc perte de lhistorique.
Moins de scurit : nimporte qui peut accder aux
informations.
etc.
Tout le monde utilise rgulirement les bases
de donnes (manuelles ou automatises).
Inconvnients de la gestion manuelle :
La recherche dinformation est lente, exemple :
gestion des informations dun meuble
Les feuilles peuvent tre perdues ou dchires,
donc perte de lhistorique.
Moins de scurit : nimporte qui peut accder aux
informations.
etc.
5
M. Moussi
http://Naj7in.com/fac
Introduction
Avantages de la gestion automatique :
Les travaux ennuyeux de maintenance manuelle
des fichiers sont limins.
La rduction ou la suppression du volume du
papier.
Lefficacit daccs aux donnes.
La gestion dun historique.
Exactitude : des informations prcises et
ractualises sont disponibles tout moment.
etc.
Avantages de la gestion automatique :
Les travaux ennuyeux de maintenance manuelle
des fichiers sont limins.
La rduction ou la suppression du volume du
papier.
Lefficacit daccs aux donnes.
La gestion dun historique.
Exactitude : des informations prcises et
ractualises sont disponibles tout moment.
etc.
6
M. Moussi
http://Naj7in.com/fac
Introduction
Exemples dapplications :
Application de gestion des enseignements :
Numro tudiant
Nom tudiant
Prnom tudiant
Adresse
Date de naissance
Numro tudiant
numro module
Date inscription
Numro module
Intitul module
Volume horaire
semestre
Pr requis
Module
Inscription
Etudiant
Numro tudiant
Nom tudiant
Prnom tudiant
Adresse
Date de naissance
Numro module
Numro enseignant
Salle
date
Heure dbut
Dure
Numro module
Intitul module
Volume horaire
semestre
Pr requis
Numro enseignant
Nom enseignant
Prnom enseignant
adresse
Date de naissance
Enseignant
Enseignement
7
M. Moussi
http://Naj7in.com/fac
Introduction
Application de gestion des commandes :
Code produit
Dsignation
Prix unitaire
Numro commande
Numro fournisseur
Code produit
Quantit
Numro fournisseur
Nom fournisseur
Adresse
Ville
Fournisseur
Commande
Produit
Code produit
Dsignation
Prix unitaire
Numro commande
Numro fournisseur
Code produit
Quantit
Numro fournisseur
Nom fournisseur
Adresse
Ville
8
M. Moussi
http://Naj7in.com/fac
Introduction
Application de rservation de places davion :
Numro
passager
Nom passager
Prnom
passager
Adresse
Nom ville
Nom aroport
Type avion
Nombre de places
Avion
Ville
Passage
Numro
passager
Nom passager
Prnom
passager
Adresse
Numro ligne
Ville dpart
Ville arrive
Numro
rservation
Numro passager
Numro vol
Date rservation
Rservation Ligne
Numro vol
Numro ligne
Jour&Heure du vol
Type avion
Vol
9
M. Moussi
Dfinitions :
Base de donnes :
Collection de donnes :
Persistantes.
Oprationnelles.
Enregistres et utilises par des systmes
dapplication (des programmes) dune entreprise
particulire.
Base de donnes :
Collection de donnes :
Persistantes.
Oprationnelles.
Enregistres et utilises par des systmes
dapplication (des programmes) dune entreprise
particulire.
10
M. Moussi
Dfinitions :
Base de donnes :
Structure indpendamment dune quelconque
application.
Cohrente.
De redondance minimale.
Peut tre accessible simultanment par plusieurs
utilisateurs.
Base de donnes :
Structure indpendamment dune quelconque
application.
Cohrente.
De redondance minimale.
Peut tre accessible simultanment par plusieurs
utilisateurs.
11
M. Moussi
Dfinitions
Modle de donnes :
Est un Ensemble de concepts et de rgles
dutilisation de ces concepts qui permettent de
dcrire les donnes dune BD et de modliser leur
structure.
Est un moyen de description du monde rel.
Types de modles de donnes principaux : Le
modle hirarchique, le modle rseau, le
modle relationnel, le modle objet.
Modle de donnes :
Est un Ensemble de concepts et de rgles
dutilisation de ces concepts qui permettent de
dcrire les donnes dune BD et de modliser leur
structure.
Est un moyen de description du monde rel.
Types de modles de donnes principaux : Le
modle hirarchique, le modle rseau, le
modle relationnel, le modle objet.
12
M. Moussi
Dfinitions
Schma dune base de donnes :
Est un groupe dobjet dune base de donnes
(table, index, des contraintes) qui sont unis et
relis entre eux.
Cest une description de la base de donnes
obtenue en employant un modle de donnes.
Exemple : schma relationnel :
Schma dune base de donnes :
Est un groupe dobjet dune base de donnes
(table, index, des contraintes) qui sont unis et
relis entre eux.
Cest une description de la base de donnes
obtenue en employant un modle de donnes.
Exemple : schma relationnel :
Propritaire
du schma
tables index procdures
contraintes vues
13
M. Moussi
Dfinitions
Systme de gestion de base de donnes :
Est un systme informatique (logiciel) permettant de
maintenir des donnes et de les rendre disponible
la demande;
Tout SGBD appartient une classe associe un
modle de donnes.
Systme de gestion de base de donnes :
Est un systme informatique (logiciel) permettant de
maintenir des donnes et de les rendre disponible
la demande;
Tout SGBD appartient une classe associe un
modle de donnes.
14
M. Moussi
Composants lis la gestion dune
base de donnes
Les donnes :
Donnes intgres : la BD peut tre vue comme
une unification de plusieurs fichiers de donnes
distincts, pas de redondance .
Exemple :
Etudiant : NumEtudiant, nom, adresse, date de naissance
Inscription : NumEtudiant, NumModule, DateInscription
pour le nom dun tudiant, il suffit de le chercher dans
le fichier Etudiant.
Les donnes :
Donnes intgres : la BD peut tre vue comme
une unification de plusieurs fichiers de donnes
distincts, pas de redondance .
Exemple :
Etudiant : NumEtudiant, nom, adresse, date de naissance
Inscription : NumEtudiant, NumModule, DateInscription
pour le nom dun tudiant, il suffit de le chercher dans
le fichier Etudiant.
15
M. Moussi
Composants lis la gestion dune
base de donnes
Donnes partages : chaque donne de la base
peut tre partage par plusieurs utilisateurs qui
peuvent accder simultanment cette donne.
Exemple :
Dans une application de gestion de la scolarit, les
utilisateurs du service dexamen et du service
dinscription peuvent accder aux informations
relatives ltudiant dans le fichier Etudiant.
Donnes partages : chaque donne de la base
peut tre partage par plusieurs utilisateurs qui
peuvent accder simultanment cette donne.
Exemple :
Dans une application de gestion de la scolarit, les
utilisateurs du service dexamen et du service
dinscription peuvent accder aux informations
relatives ltudiant dans le fichier Etudiant.
16
M. Moussi
Composants lis la gestion dune
base de donnes
Le matriel : se compose des volumes de
mmorisation pour le stockage des donnes, le
processeur et la mmoire principale pour lexcution
du logiciel.
Le logiciel : cest le SGBD, responsable de
lexcution de toutes les requtes des utilisateurs
pour accder la base de donnes et manipuler les
donnes.
Exemple : Oracle, Informix, Sybase, Access,
SQL Server
Le matriel : se compose des volumes de
mmorisation pour le stockage des donnes, le
processeur et la mmoire principale pour lexcution
du logiciel.
Le logiciel : cest le SGBD, responsable de
lexcution de toutes les requtes des utilisateurs
pour accder la base de donnes et manipuler les
donnes.
Exemple : Oracle, Informix, Sybase, Access,
SQL Server
17
M. Moussi
Composants lis la gestion dune
base de donnes
Les intervenants :
Ladministrateur de la BD : responsable sur le
contrle les donnes :
dfinit les types de donnes Stocker dans la
base,
dlivre des autorisations daccs la BD,
dcide des stratgies de maintenance et de
manipulation de ces donnes.
Les intervenants :
Ladministrateur de la BD : responsable sur le
contrle les donnes :
dfinit les types de donnes Stocker dans la
base,
dlivre des autorisations daccs la BD,
dcide des stratgies de maintenance et de
manipulation de ces donnes.
18
M. Moussi
Composants lis la gestion dune
base de donnes
Le programmeur de lapplication : dveloppe
lapplication ( le programme) utilise pour
accder la base de donnes.
Lutilisateur final : accde la base de donnes
travers une interface intgre au logiciel ou bien
une application.
Le programmeur de lapplication : dveloppe
lapplication ( le programme) utilise pour
accder la base de donnes.
Lutilisateur final : accde la base de donnes
travers une interface intgre au logiciel ou bien
une application.
19
M. Moussi
Fonctions fournies par un SGBD
Description des donnes :
Description des objets (Etudiant, Enseignant,
module), leurs attributs (NumEtudiant, Nom,
Adresse).
Description des liens ( un Etudiant est inscrit dans
un module).
Description des contraintes ventuelles sur les
objets, leurs attributs ou leurs liens.
laide du langage de description de donnes
(LDD).
Description des donnes :
Description des objets (Etudiant, Enseignant,
module), leurs attributs (NumEtudiant, Nom,
Adresse).
Description des liens ( un Etudiant est inscrit dans
un module).
Description des contraintes ventuelles sur les
objets, leurs attributs ou leurs liens.
laide du langage de description de donnes
(LDD).
20
M. Moussi
Manipulation des donnes :
Concerne les outils et les mcanismes qui
permettent de faire communiquer une BD et
lutilisateur.
Effectuer des oprations de recherche,
dinsertion, de modification et de suppression sur
cette base.
A laide du langage de manipulation de donnes
( LMD ).
Fonctions fournies par un SGBD
Manipulation des donnes :
Concerne les outils et les mcanismes qui
permettent de faire communiquer une BD et
lutilisateur.
Effectuer des oprations de recherche,
dinsertion, de modification et de suppression sur
cette base.
A laide du langage de manipulation de donnes
( LMD ).
21
M. Moussi
Fonctions fournies par un SGBD
Assurer la cohrence des donnes :
Soit une information reprsente dune faon
redondante dans la BD, la mise jour de cette
information dans un seul endroit rend la BD dans
un tat incohrent.
Une BD incohrente fournit des donnes
incorrecte ou contradictoires.
Par llimination de la redondance ou bien son
contrle, le SGBD garantit la cohrence.
Assurer la cohrence des donnes :
Soit une information reprsente dune faon
redondante dans la BD, la mise jour de cette
information dans un seul endroit rend la BD dans
un tat incohrent.
Une BD incohrente fournit des donnes
incorrecte ou contradictoires.
Par llimination de la redondance ou bien son
contrle, le SGBD garantit la cohrence.
22
M. Moussi
Fonctions fournies par un SGBD
Exemple : deux tudiants avec les mmes
informations, si jai pas didentifiant (numro par
exemple)?
Intgrit des donnes :
Est relatif la qualit de la valeur enregistre,
celle-ci doit vrifier certains proprits de faon
garantir lexactitude et la cohrence des donnes.
Ces proprits sont appeles contraintes
dintgrit.
Exemple : deux tudiants avec les mmes
informations, si jai pas didentifiant (numro par
exemple)?
Intgrit des donnes :
Est relatif la qualit de la valeur enregistre,
celle-ci doit vrifier certains proprits de faon
garantir lexactitude et la cohrence des donnes.
Ces proprits sont appeles contraintes
dintgrit.
23
M. Moussi
Fonctions fournies par un SGBD
Exemples :
Chaque tudiant possde un numro qui lidentifie.
Un tudiant ne peut suivre que quatre module au
plus dans un semestre.
Un tudiant ne peut pas tre inscrit deux fois dans
un mme module.
On ne peut pas programmer deux cours pour le
mme professeur dans le mme crneau.
On ne peut pas programmer deux cours dans la
mme salle dans le mme crneau.
La dure dune sance de cours ne peut excder 3
heurs et ne peut tre moins que 1Heure et .
Exemples :
Chaque tudiant possde un numro qui lidentifie.
Un tudiant ne peut suivre que quatre module au
plus dans un semestre.
Un tudiant ne peut pas tre inscrit deux fois dans
un mme module.
On ne peut pas programmer deux cours pour le
mme professeur dans le mme crneau.
On ne peut pas programmer deux cours dans la
mme salle dans le mme crneau.
La dure dune sance de cours ne peut excder 3
heurs et ne peut tre moins que 1Heure et .
24
M. Moussi
Fonctions fournies par un SGBD
Fiabilit :
Risque de perte dinformations cause dun
incident matriel ou logiciel : erreur de
programmation, panne systme, coupure du
courant, le disque dur qui contient la base est
endommag, ...
Le SGBD doit offrir la possibilit de remettre la BD
dans un tat oprationnel.
La journalisation des oprations ralises sur la
base et leur r-excution automatique en cas de
besoin.
Fiabilit :
Risque de perte dinformations cause dun
incident matriel ou logiciel : erreur de
programmation, panne systme, coupure du
courant, le disque dur qui contient la base est
endommag, ...
Le SGBD doit offrir la possibilit de remettre la BD
dans un tat oprationnel.
La journalisation des oprations ralises sur la
base et leur r-excution automatique en cas de
besoin.
25
M. Moussi
Fonctions fournies par un SGBD
Les accs concurrents :
Plusieurs utilisateurs peuvent accder aux
donnes simultanment.
Le SGBD doit grer les conflits qui peuvent tre
rsults de ces accs.
Exemple : Soient les deux oprations de mise jour,
notes OP1 et OP2, qui seffectuent sur une
mme donne V=100. On a deux cas :
Les accs concurrents :
Plusieurs utilisateurs peuvent accder aux
donnes simultanment.
Le SGBD doit grer les conflits qui peuvent tre
rsults de ces accs.
Exemple : Soient les deux oprations de mise jour,
notes OP1 et OP2, qui seffectuent sur une
mme donne V=100. On a deux cas :
26
M. Moussi
Fonctions fournies par un SGBD
OP1 et OP2 sont squentielles :
Aprs excution squentielle des deux OP1 et
OP2, on obtient V =250.
OP1 OP2
XLire(V) YLire(V)
XX+50 YY+100
OP1 et OP2 sont squentielles :
Aprs excution squentielle des deux OP1 et
OP2, on obtient V =250.
XX+50 YY+100
Ecrire(X, V) Ecrire(Y, V)
27
M. Moussi
Fonctions fournies par un SGBD
Excution dune manire concurrente :
Aprs excution concurrente, on obtient V =200.
OP1 OP2
XLire(V)
XX+50
YLire(V)
Excution dune manire concurrente :
Aprs excution concurrente, on obtient V =200.
YLire(V)
Ecrire(X, V)
YY+100
Ecrire(Y, V)
28
M. Moussi
Fonctions fournies par un SGBD
Conclusion :
la mise jour de lopration OP1 a cras celle de
lopration OP2. Il ya donc une perte de mise jour.
Pour viter ce genre de problme, la technique de
verrouillage est souvent utilise lors daccs en
modification.
Conclusion :
la mise jour de lopration OP1 a cras celle de
lopration OP2. Il ya donc une perte de mise jour.
Pour viter ce genre de problme, la technique de
verrouillage est souvent utilise lors daccs en
modification.
29
M. Moussi
Fonctions fournies par un SGBD
Confidentialit :
Toute information doit tre protge contre laccs
des utilisateurs non autoriss soit en criture ou
en lecture.
La confidentialit est assure par :
Le biais de mot de passe et de gestion des droits
daccs(par utilisateur ou par groupe).
Lutilisation des sous-schma.
Confidentialit :
Toute information doit tre protge contre laccs
des utilisateurs non autoriss soit en criture ou
en lecture.
La confidentialit est assure par :
Le biais de mot de passe et de gestion des droits
daccs(par utilisateur ou par groupe).
Lutilisation des sous-schma.
30
M. Moussi
Fonctions fournies par un SGBD
Exemple :
Dans lapplication de la gestion des
enseignements Les tudiants sont autoriss lire
les numros des modules et les horaires de
lenseignement, mais ils ne sont pas autoriss
les modifier
Exemple :
Dans lapplication de la gestion des
enseignements Les tudiants sont autoriss lire
les numros des modules et les horaires de
lenseignement, mais ils ne sont pas autoriss
les modifier
31
M. Moussi
Architecture dun SGBD
Larchitecture dun SGBD se compose de trois niveaux : interne,
conceptuel et externe,et des liens entres ces niveaux.
Vue
externe A
Schma
conceptuel
Lien Externe/
conceptuel A
Niveau conceptuel
Niveau externe
User A1
User A2
Vue
externe B
Schma
conceptuel
Lien Externe/
conceptuel A
Lien Externe/
conceptuel B
Lien Conceptuel/
interne
Niveau interne
Schma interne
User B1
User B2
User B3
Figure : Architecture dun SGBD.
32
M. Moussi
Architecture dun SGBD
Le niveau interne ou physique :
Est le niveau relatif la mmoire physique.
Il concerne la structure de stockage physique de la
base de donnes, notamment, les types de fichiers
utiliss, caractristiques des enregistrements
(longueur, composants), ainsi que laccs aux
donnes par exemple travers les tables et les
indexes.
Le niveau interne ou physique :
Est le niveau relatif la mmoire physique.
Il concerne la structure de stockage physique de la
base de donnes, notamment, les types de fichiers
utiliss, caractristiques des enregistrements
(longueur, composants), ainsi que laccs aux
donnes par exemple travers les tables et les
indexes.
33
M. Moussi
Architecture dun SGBD
Le niveau externe :
il sagit du niveau o les utilisateurs interrogent la
BD.
A ce niveau, chaque utilisateur ou groupe
dutilisateurs, des vues sur tout ou sur une partie
du schma sont associes.
Le niveau externe :
il sagit du niveau o les utilisateurs interrogent la
BD.
A ce niveau, chaque utilisateur ou groupe
dutilisateurs, des vues sur tout ou sur une partie
du schma sont associes.
34
M. Moussi
Architecture dun SGBD
Le niveau conceptuel ou logique :
prsente dune faon globale et abstraite la
structure des donnes (les regroupements des
donnes, les liens entre les regroupements) et
des rgles de gestion et de fonctionnement.
En gnral, la vue conceptuelle est cense tre
une vue des donnes telles quelles sont
rellement.
Le niveau conceptuel ou logique :
prsente dune faon globale et abstraite la
structure des donnes (les regroupements des
donnes, les liens entre les regroupements) et
des rgles de gestion et de fonctionnement.
En gnral, la vue conceptuelle est cense tre
une vue des donnes telles quelles sont
rellement.
35
M. Moussi
Architecture dun SGBD
Les liens :
Le lien conceptuel/interne : dfinit la
correspondance entre la vue conceptuel et la BD
en mmoire, spcifie la reprsentation des
enregistrements et des champs au niveau interne.
Pour garder linvariance du schma conceptuel,
les modifications au niveau interne entrane des
modifications au niveau de ce lien.
Les liens :
Le lien conceptuel/interne : dfinit la
correspondance entre la vue conceptuel et la BD
en mmoire, spcifie la reprsentation des
enregistrements et des champs au niveau interne.
Pour garder linvariance du schma conceptuel,
les modifications au niveau interne entrane des
modifications au niveau de ce lien.
36
M. Moussi
Architecture dun SGBD
Un lien externe/conceptuel :
dfinit la correspondance entre une vue externe
et la vue conceptuel.
37
M. Moussi
Indpendance des donnes
Indpendance physique :
Permet ladministrateur de la BD dtre libre de
modifier la structure de mmorisation ou la
technique daccs, suite un changement des
besoins, sans avoir modifier les applications
existantes.
Exemple : des nouveaux types de donnes
peuvent tre introduits dans la BD, des nouveaux
types de matriel de stockage disponibles, ou
ajout dune table dindex pour acclration.
Indpendance physique :
Permet ladministrateur de la BD dtre libre de
modifier la structure de mmorisation ou la
technique daccs, suite un changement des
besoins, sans avoir modifier les applications
existantes.
Exemple : des nouveaux types de donnes
peuvent tre introduits dans la BD, des nouveaux
types de matriel de stockage disponibles, ou
ajout dune table dindex pour acclration.
38
M. Moussi
Indpendance des donnes
Indpendance logique :
Permet la modification du schma conceptuel
sans avoir modifier les programmes existants.
Elle peut tre dfinie comme la protection des
utilisateurs et des programmes contre tout
changement de la structure logique de la BD.
Ladministrateur doit pouvoir faire voluer le
systme dinformation sans remettre en cause la
vue de chaque utilisateur ou groupe dutilisateurs.
Indpendance logique :
Permet la modification du schma conceptuel
sans avoir modifier les programmes existants.
Elle peut tre dfinie comme la protection des
utilisateurs et des programmes contre tout
changement de la structure logique de la BD.
Ladministrateur doit pouvoir faire voluer le
systme dinformation sans remettre en cause la
vue de chaque utilisateur ou groupe dutilisateurs.
39
M. Moussi
Indpendance des donnes
Exemple : Dans une BD contenant les informations
suivantes :
Vhicule (numro vhicule, marque, type, couleur)
Personne (CIN, nom, prnom)
Propritaire (CIN, numro vhicule, date achat)
Un groupe dutilisateur ne sintresse quaux personnes
qui possdent une voiture :
Personne (CIN, nom, prnom, numro vhicule).
Un autre groupe dutilisateurs ne sintresse quaux
vhicules vendus une certaine date :
Voiture (numro vhicule, type, marque, date achat).
Exemple : Dans une BD contenant les informations
suivantes :
Vhicule (numro vhicule, marque, type, couleur)
Personne (CIN, nom, prnom)
Propritaire (CIN, numro vhicule, date achat)
Un groupe dutilisateur ne sintresse quaux personnes
qui possdent une voiture :
Personne (CIN, nom, prnom, numro vhicule).
Un autre groupe dutilisateurs ne sintresse quaux
vhicules vendus une certaine date :
Voiture (numro vhicule, type, marque, date achat).
40
M. Moussi
La suite des phases qui permet de construire le
processus daccs aux donnes est :
1. Lutilisateur met une requte au moyen dun langage de
donnes, en gnral SQL.
2. Le SGBD intercepte la requte et effectue une analyse
smantique et syntaxique.
3. Traduction au niveau logique : le SGBD inspecte le
schma externe de cet utilisateur, le lien
externe/conceptuel correspondant et le schma logique.
4. Contrle de confidentialit, concurrence
Principe de fonctionnement dun
SGBD
La suite des phases qui permet de construire le
processus daccs aux donnes est :
1. Lutilisateur met une requte au moyen dun langage de
donnes, en gnral SQL.
2. Le SGBD intercepte la requte et effectue une analyse
smantique et syntaxique.
3. Traduction au niveau logique : le SGBD inspecte le
schma externe de cet utilisateur, le lien
externe/conceptuel correspondant et le schma logique.
4. Contrle de confidentialit, concurrence
41
M. Moussi
Principe de fonctionnement dun
SGBD
5. Si la requte est accepte, le SGBD effectue une
optimisation et dcoupe la requte en sous-requtes
lmentaires et les transfre au niveau interne.
6. Traduction au niveau interne : le SGBD inspecte le lien
conceptuel/interne correspondant et la dfinition de la
structure mmoire.
7. Excution des oprations ncessaires au niveau de la
base de donnes mmoire.
5. Si la requte est accepte, le SGBD effectue une
optimisation et dcoupe la requte en sous-requtes
lmentaires et les transfre au niveau interne.
6. Traduction au niveau interne : le SGBD inspecte le lien
conceptuel/interne correspondant et la dfinition de la
structure mmoire.
7. Excution des oprations ncessaires au niveau de la
base de donnes mmoire.
42
M. Moussi
Cycle de vie dune base de donnes
Les quatre phases suivantes prsentent la
vie dune base de donnes.
Conception :
consiste construire le modle conceptuel et le
convertir en modle physique oprationnel.
Comporte la dfinition et la description des
donnes, la cration des structures des donnes,
dcrire les contraintes dintgrit
Pour laspect physique, on peut indiquer
lensemble des supports physiques pour le
stockage des donnes.
Les quatre phases suivantes prsentent la
vie dune base de donnes.
Conception :
consiste construire le modle conceptuel et le
convertir en modle physique oprationnel.
Comporte la dfinition et la description des
donnes, la cration des structures des donnes,
dcrire les contraintes dintgrit
Pour laspect physique, on peut indiquer
lensemble des supports physiques pour le
stockage des donnes.
43
M. Moussi
Cycle de vie dune base de donnes
Implantation des donnes :
Cration de la BD, il sagit de crer un ensemble
structur.
Le SGBD offre des moyens pour implanter
physiquement les donnes et dcrire les liens qui
les unissent.
Utilisation :
la fiabilit dune BD est de mettre la disposition
des donnes tre utilises. Le LMD permet
lutilisation.
Implantation des donnes :
Cration de la BD, il sagit de crer un ensemble
structur.
Le SGBD offre des moyens pour implanter
physiquement les donnes et dcrire les liens qui
les unissent.
Utilisation :
la fiabilit dune BD est de mettre la disposition
des donnes tre utilises. Le LMD permet
lutilisation.
44
M. Moussi
Cycle de vie dune base de donnes
Maintenance :
une BD est modifie tout au long de sa vie, par
lajout ou la suppression de table, de colonne ou
dindex, Linsertion et la suppression de
donnes entranent une fragmentation.
La maintenance est ainsi importante pour garantir
lutilit et les performances dune BD. Elle doit
laccompagner durant son existence.
Soccupe essentiellement de la faon dont les
donnes sont stockes et du volume de donnes
atteint aprs un certain temps dutilisation.
Maintenance :
une BD est modifie tout au long de sa vie, par
lajout ou la suppression de table, de colonne ou
dindex, Linsertion et la suppression de
donnes entranent une fragmentation.
La maintenance est ainsi importante pour garantir
lutilit et les performances dune BD. Elle doit
laccompagner durant son existence.
Soccupe essentiellement de la faon dont les
donnes sont stockes et du volume de donnes
atteint aprs un certain temps dutilisation.
45
M. Moussi
Deuxime partie :
Bases de donnes relationnelles.
46
M. Moussi
Plan :
Introduction.
Principaux concepts du modle relationnel.
Contraintes dintgrit.
Lalgbre relationnelle ou langage algbrique.
Normalisation.
Introduction.
Principaux concepts du modle relationnel.
Contraintes dintgrit.
Lalgbre relationnelle ou langage algbrique.
Normalisation.
47
M. Moussi
Introduction
Propos par Ted Codd en 1970.
Son objectif essentiel laccroissement de
lindpendance des programmes vis--vis de
la prsentation des donnes.
Fond sur la thorie mathmatique des
ensembles.
Exemples des SGBD relationnels : Oracle,
Informix, Sybase, Dbase, Access, MySQL,
Propos par Ted Codd en 1970.
Son objectif essentiel laccroissement de
lindpendance des programmes vis--vis de
la prsentation des donnes.
Fond sur la thorie mathmatique des
ensembles.
Exemples des SGBD relationnels : Oracle,
Informix, Sybase, Dbase, Access, MySQL,
48
M. Moussi
Introduction
Trois aspects :
Aspect structurel : lutilisateur peroit les donnes
comme des tables.
Aspect intgrit : ces tables satisfont certains
contraintes dintgrit.
Aspect manipulation : les oprateurs dont dispose
lutilisateur (par exemple, pour accder aux
donnes) gnrent de nouvelles tables partir
des tables existantes.
Trois aspects :
Aspect structurel : lutilisateur peroit les donnes
comme des tables.
Aspect intgrit : ces tables satisfont certains
contraintes dintgrit.
Aspect manipulation : les oprateurs dont dispose
lutilisateur (par exemple, pour accder aux
donnes) gnrent de nouvelles tables partir
des tables existantes.
49
M. Moussi
Introduction
Trois oprations importantes : la restriction (ou
slection), la projection et la jointure
Exemples : soient les deux tables :
Etudiant
Num Nom Prnom Adresse Age
1 Ahmadi Ahmed Lazaret 25 19 1 Ahmadi Ahmed Lazaret 25 19
2 Najjar Fatima Alkods 8 20
3 Hamadi mohamed Rue 1,21 18
Inscription
NumEtudiant NumModule Date inscription
1 25 15/09/2005
1 26 15/09/2005
3 27 15/09/2006
50
M. Moussi
Introduction
Le rsultat de restriction sur Etudiant o Age>18
est la relation :
Le rsultat de la projection de Etudiant sur Num,
Adresse est :
Num Nom Prnom Adresse Age
1 Ahmadi Ahmed Lazaret 25 19
2 Najjar Fatima Alkods 8 20
Le rsultat de restriction sur Etudiant o Age>18
est la relation :
Le rsultat de la projection de Etudiant sur Num,
Adresse est :
2 Najjar Fatima Alkods 8 20
Num Adresse
1 Lazaret 25
2 Alkods 8
3 Rue 1,21
51
M. Moussi
Introduction
Le rsultat de jointure de Etudiant et Inscription
sur Numro tudiant est :
Num Nom Prnom Adresse Age NumModule Date
inscription
1 Ahmadi Ahmed Lazaret 25 19 25 15/09/2009 1 Ahmadi Ahmed Lazaret 25 19 25 15/09/2009
1 Ahmadi Ahmed Lazaret 25 19 26 15/09/2009
3 Hamadi mohamed Rue 1,21 18 27 15/09/2010
52
M. Moussi
Principaux concepts du modle
relationnel
Domaine :
est un type de donnes, il est dfinit par un
ensemble de valeurs.
Exemples :
Dnom : chane de caractres de longueur 30.
Dnum : entiers compris entre 1 et 10000.
Dcouleurs :{blanc, bleu, vert, jaune,
rouge }
Dage : entiers compris entre 1 et 100.
Ddate : [01 :31] / [01 :12] / [1920 :2011]
Domaine :
est un type de donnes, il est dfinit par un
ensemble de valeurs.
Exemples :
Dnom : chane de caractres de longueur 30.
Dnum : entiers compris entre 1 et 10000.
Dcouleurs :{blanc, bleu, vert, jaune,
rouge }
Dage : entiers compris entre 1 et 100.
Ddate : [01 :31] / [01 :12] / [1920 :2011]
53
M. Moussi
Principaux concepts du modle
relationnel
Relation :
formellement, cest un sous-ensemble du produit
cartsien dune liste de domaines.
Une relation n-aire sur les domaines D
1,
D
2
,, D
n
est un sous-ensemble du produit cartsien
D
1
D
2
D
n
.
Un lment appartenant une telle relation sera
appel n-uplet ou tuple ou occurrence. Il sera
not (d
1
, d
2
,, d
n
) o d
i
e D
i
i e {1, n}.
Lentier n est le degr, le nombre de n-uplets est
la cardinalit de la relation.
Relation :
formellement, cest un sous-ensemble du produit
cartsien dune liste de domaines.
Une relation n-aire sur les domaines D
1,
D
2
,, D
n
est un sous-ensemble du produit cartsien
D
1
D
2
D
n
.
Un lment appartenant une telle relation sera
appel n-uplet ou tuple ou occurrence. Il sera
not (d
1
, d
2
,, d
n
) o d
i
e D
i
i e {1, n}.
Lentier n est le degr, le nombre de n-uplets est
la cardinalit de la relation.
54
M. Moussi
Principaux concepts du modle
relationnel
Attribut :
un attribut Ai de la relation est un identificateur
associ un domaine D
i
.
On le dsigne parfois par : nom de la relation.nom
de lattribut. les attributs Ai doivent tre distincts.
Formellement, un tuple peut tre dfinit comme un
produit cartsien ( A1 : D1, A2 : D2 ,, An : Dn).
Une relation comme un ensemble paramtr par
le tuple. Ai est une fonction qui associe un tuple
une valeur dans le domaine Di.
Attribut :
un attribut Ai de la relation est un identificateur
associ un domaine D
i
.
On le dsigne parfois par : nom de la relation.nom
de lattribut. les attributs Ai doivent tre distincts.
Formellement, un tuple peut tre dfinit comme un
produit cartsien ( A1 : D1, A2 : D2 ,, An : Dn).
Une relation comme un ensemble paramtr par
le tuple. Ai est une fonction qui associe un tuple
une valeur dans le domaine Di.
55
M. Moussi
Principaux concepts du modle
relationnel
Un attribut peut ne pas tre valu pour un tuple,
on dit alors quil a une valeur nulle.
Les notions dattribut multi-valu ou complexe
nexistent pas dans le modle relationnel. Il faut
donc les modliser autrement :
pour un attribut complexe, il faut choisir entre le
compos ou les composants.
Pour un attribut multi-valu, il faut crer une
autre relation.
Un attribut peut ne pas tre valu pour un tuple,
on dit alors quil a une valeur nulle.
Les notions dattribut multi-valu ou complexe
nexistent pas dans le modle relationnel. Il faut
donc les modliser autrement :
pour un attribut complexe, il faut choisir entre le
compos ou les composants.
Pour un attribut multi-valu, il faut crer une
autre relation.
56
M. Moussi
Principaux concepts du modle
relationnel
Exemples :
Soit linformation Adresse : nom rue, N, ville, code
postal. Par exemple, adresse prend la valeur :
Rue Med V, 2, Oujda, 60000. On a deux solutions :
Un attribut par composant :
Un seul attribut de domaine chane de caractres :
Exemples :
Soit linformation Adresse : nom rue, N, ville, code
postal. Par exemple, adresse prend la valeur :
Rue Med V, 2, Oujda, 60000. On a deux solutions :
Un attribut par composant :
Un seul attribut de domaine chane de caractres :
nom rue N ville code postal
Rue Med V 2 Oujda 60000
Adresse
Rue Med V 2 Oujda 60000
57
M. Moussi
Principaux concepts du modle
relationnel
Mmoriser les diffrents cours suivis par les
tudiants :
Lutilisation de plusieurs attributs : cours1,
cours2, est incorrecte.
Il faut crer une autre relation supplmentaire :
Mmoriser les diffrents cours suivis par les
tudiants :
Lutilisation de plusieurs attributs : cours1,
cours2, est incorrecte.
Il faut crer une autre relation supplmentaire :
Numro tudiant Cours
12 BD
13 BD
13 GL
20 LC
20 BD
58
M. Moussi
Principaux concepts du modle
relationnel
Schma de relation :
un schma de relation est le nom de la relation
suivi de la liste des attributs avec leurs domaines,
par exemple : Etudiant (Numro tudiant : entier,
nom : chane, Prnom : chane, Adresse :
alphanumrique(30), age : entier).
Schma de relation :
un schma de relation est le nom de la relation
suivi de la liste des attributs avec leurs domaines,
par exemple : Etudiant (Numro tudiant : entier,
nom : chane, Prnom : chane, Adresse :
alphanumrique(30), age : entier).
59
M. Moussi
Principaux concepts du modle
relationnel
Exemple :
Etudiant
Entier
chane alphanumrique
Entier
Domaines
Etudiant
Num Nom Prnom Adresse Age
1 Ahmadi Ahmed Lazaret 25 19
2 Najjar Fatima Alkods 8 20
3 Hamadi mohamed Rue 1,21 18
Tuple
Ou
Occurrence
Attributs
60
M. Moussi
Principaux concepts du modle
relationnel
Identifiant dune table :
lunicit de lidentification des n-uples est assure
par la notion de cl de relation.
Lidentifiant cest un ou une liste dattributs
appartenant au schma de la relation et dont les
valeurs permettent de distinguer les n-uplets.
Une cl minimale, cest--dire comportant un
minimum dattributs, est choisie comme identifiant
et est appel cl primaire, les autres tant
appels cls candidates.
Identifiant dune table :
lunicit de lidentification des n-uples est assure
par la notion de cl de relation.
Lidentifiant cest un ou une liste dattributs
appartenant au schma de la relation et dont les
valeurs permettent de distinguer les n-uplets.
Une cl minimale, cest--dire comportant un
minimum dattributs, est choisie comme identifiant
et est appel cl primaire, les autres tant
appels cls candidates.
61
M. Moussi
Principaux concepts du modle
relationnel
Toute relation possde une cl primaire.
Lunicit des tuples est une proprit de
lensemble dans le sens mathmatique.
Lattribut(s) prsentant la cl primaire nadmet pas
de valeurs nulles.
Dans le schma dune relation, on souligne la cl
primaire.
Exemple :
Le schma de relation Etudiant est donne comme suit :
Etudiant (Numro tudiant , nom , Prnom , Adresse,age)
Toute relation possde une cl primaire.
Lunicit des tuples est une proprit de
lensemble dans le sens mathmatique.
Lattribut(s) prsentant la cl primaire nadmet pas
de valeurs nulles.
Dans le schma dune relation, on souligne la cl
primaire.
Exemple :
Le schma de relation Etudiant est donne comme suit :
Etudiant (Numro tudiant , nom , Prnom , Adresse,age)
62
M. Moussi
Principaux concepts du modle
relationnel
Lidentifiant externe :
La cl trangre est un attribut dune relation et cl
primaire dans une autre relation rfrence.
Permet de vrifier automatiquement la prsence
des donnes rfrences dans des tables
diffrentes.
Dfinit dans des tables enfant et assure quun
enregistrement parent a t cr avant un
enregistrement enfant et que lenregistrement
enfant sera supprim avant lenregistrement parent.
Lidentifiant externe :
La cl trangre est un attribut dune relation et cl
primaire dans une autre relation rfrence.
Permet de vrifier automatiquement la prsence
des donnes rfrences dans des tables
diffrentes.
Dfinit dans des tables enfant et assure quun
enregistrement parent a t cr avant un
enregistrement enfant et que lenregistrement
enfant sera supprim avant lenregistrement parent.
63
M. Moussi
Principaux concepts du modle
relationnel
Exemple :
Module(table parent)
NumModule intitul volume horaire semestre
12 BD 70 S5
13 Arch 60 S5
14 Rs 70 S6 14 Rs 70 S6
Inscription(table enfant)
numEtudiant numModule date inscription
1 12 09/11/10
2 14 08/01/11
4 12 09/11/11
1 14 08/01/11
cl trangre
Rfrence
une cl
primaire
64
M. Moussi
Principaux concepts du modle
relationnel
Schma et base de donnes relationnels :
Le schma relationnel est constitu par
lensemble des schmas des relations avec les
cls primaires, les cls trangres (pour chaque
relation) et ventuellement dautres contraintes
dintgrit.
Une BD relationnelle est une collection des
diffrentes relations du schma relationnel,
variables dans le temps. Chaque relation est vue
comme un tableau dont les colonnes dsignent
les attributs et les lignes dsignent les n-uplets.
Schma et base de donnes relationnels :
Le schma relationnel est constitu par
lensemble des schmas des relations avec les
cls primaires, les cls trangres (pour chaque
relation) et ventuellement dautres contraintes
dintgrit.
Une BD relationnelle est une collection des
diffrentes relations du schma relationnel,
variables dans le temps. Chaque relation est vue
comme un tableau dont les colonnes dsignent
les attributs et les lignes dsignent les n-uplets.
65
M. Moussi
Principaux concepts du modle
relationnel
Exemples deschma :
Relation : Etudiant
Attributs : Numro tudiant : entier non nul
Nom tudiant : Dnom non nul
Age : Dage
Identifiant : Numro tudiant
Relation : Module
Attributs : Numro module : entier non nul
Intitul module : Dnom non nul
Volume horaire : entier non nul
Semestre : enier non nul
Identifiant : Numro module
Exemples deschma :
Relation : Etudiant
Attributs : Numro tudiant : entier non nul
Nom tudiant : Dnom non nul
Age : Dage
Identifiant : Numro tudiant
Relation : Module
Attributs : Numro module : entier non nul
Intitul module : Dnom non nul
Volume horaire : entier non nul
Semestre : enier non nul
Identifiant : Numro module
66
M. Moussi
Principaux concepts du modle
relationnel
Relation : Inscription
Attributs : Numro tudiant : entier non nul
Numro module : entier non nul
Date inscription : Ddate.
Identifiants : Numro tudiant+ Numro module
+ Date inscription.
Identifiants externes : Numro tudiant rfrence
un tudiant.
Numro module rfrence
un module.
Relation : Inscription
Attributs : Numro tudiant : entier non nul
Numro module : entier non nul
Date inscription : Ddate.
Identifiants : Numro tudiant+ Numro module
+ Date inscription.
Identifiants externes : Numro tudiant rfrence
un tudiant.
Numro module rfrence
un module.
67
M. Moussi
Principaux concepts du modle
relationnel
Relation : Enseignant
Attributs : Numro enseignent : entier non nul
Nom enseignant : Dnom non nul
Statut : Dnom non nul
Tel : entier
Compte : entier non nul
Identifiants : Numro enseignent
Relation : Cours
Attributs : Nom cours : Dnom non nul
Numro enseignant : entier non nul
Salle : entier non nul
Identifiant : Nom cours
Identifiants externes : Numro enseignant rfrence un
enseignant.
Relation : Enseignant
Attributs : Numro enseignent : entier non nul
Nom enseignant : Dnom non nul
Statut : Dnom non nul
Tel : entier
Compte : entier non nul
Identifiants : Numro enseignent
Relation : Cours
Attributs : Nom cours : Dnom non nul
Numro enseignant : entier non nul
Salle : entier non nul
Identifiant : Nom cours
Identifiants externes : Numro enseignant rfrence un
enseignant.
68
M. Moussi
Contraintes dintgrit
Un schma de BD dcrit les donnes ainsi
que les contraintes que cellesci doivent
vrifier pour tre considres comme des
donnes de qualit. Ces contraintes dites
dintgrit sont gnralement des assertions
qui doivent tre vraies en des instants
dtermins ou durant la vie de la base.
A chaque insertion, modification ou
suppression les contraintes dintgrit sont
vrifies automatiquement.
Un schma de BD dcrit les donnes ainsi
que les contraintes que cellesci doivent
vrifier pour tre considres comme des
donnes de qualit. Ces contraintes dites
dintgrit sont gnralement des assertions
qui doivent tre vraies en des instants
dtermins ou durant la vie de la base.
A chaque insertion, modification ou
suppression les contraintes dintgrit sont
vrifies automatiquement.
69
M. Moussi
Contraintes dintgrit
Types de contraintes dintgrit :
Contraintes dintgrit local : portent sur un
ensemble de tuples ou sur des attributs au sein
dune relation :
Concerne un domaine (entier, rel, intervalle,
liste de valeur).
Impose qun attribut ne puisse pas tre sans
valeur, cest--dire non nul.
Spcifie une valeur par dfaut pour un attribut.
Types de contraintes dintgrit :
Contraintes dintgrit local : portent sur un
ensemble de tuples ou sur des attributs au sein
dune relation :
Concerne un domaine (entier, rel, intervalle,
liste de valeur).
Impose qun attribut ne puisse pas tre sans
valeur, cest--dire non nul.
Spcifie une valeur par dfaut pour un attribut.
70
M. Moussi
Contraintes dintgrit
Spcifie un ensemble dattribut constituant la cl
primaire, sa valeur doit tre unique et non nulle,
cest ce quon appelle lintgrit dentit.
Impose lunicit de valeur dun ensemble
dattributs constituant une cl autre que la cl
primaire.
Les contraintes inter-relations : dites aussi
contraintes de rfrence, elles impliquent plus
quune relation :
Spcifie un ensemble dattribut constituant la cl
primaire, sa valeur doit tre unique et non nulle,
cest ce quon appelle lintgrit dentit.
Impose lunicit de valeur dun ensemble
dattributs constituant une cl autre que la cl
primaire.
Les contraintes inter-relations : dites aussi
contraintes de rfrence, elles impliquent plus
quune relation :
71
M. Moussi
Contraintes dintgrit
Permet de spcifier quun attribut ou ensemble
dattributs dune relation ( apparat comme cl
trangre) rfrence la cl primaire dune autre
relation.
Signifie quun tuple qui fait rfrence un tuple
dune autre relation, doit faire rfrence un tuple
existant dans cette relation, cest lintgrit
rfrentielle.
Exemple (voir le paragraphe prcdent)
Permet de spcifier quun attribut ou ensemble
dattributs dune relation ( apparat comme cl
trangre) rfrence la cl primaire dune autre
relation.
Signifie quun tuple qui fait rfrence un tuple
dune autre relation, doit faire rfrence un tuple
existant dans cette relation, cest lintgrit
rfrentielle.
Exemple (voir le paragraphe prcdent)
72
M. Moussi
Contraintes dintgrit
Contraintes dynamiques : permettent dexprimer le
fait que les valeurs des donnes dun tat de la
base dpendent de ltat ou dun des tats
prcdents.
Exemples :
Le salaire dun employ ne peut pas diminuer.
Le nouvel age dune personne doit tre suprieur
lancien.
Le passage dune valeur de lattribut situation
matrimoniale dune personne une autre valeur
ne doit pas permettre de retour la valeur
clibataire si celle-ci a t modifie.
Contraintes dynamiques : permettent dexprimer le
fait que les valeurs des donnes dun tat de la
base dpendent de ltat ou dun des tats
prcdents.
Exemples :
Le salaire dun employ ne peut pas diminuer.
Le nouvel age dune personne doit tre suprieur
lancien.
Le passage dune valeur de lattribut situation
matrimoniale dune personne une autre valeur
ne doit pas permettre de retour la valeur
clibataire si celle-ci a t modifie.
73
M. Moussi
Contraintes dintgrit
Les contraintes temporelles : par exemple, Toutes
les commandes de la semaine courante doivent
avoir t factures avant le premier jour ouvrable
de la semaine suivante.
74
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Projection :
Signature : Relation liste dattributs Relation
La projection dune relation R(X,Y) sur Y( o X
dsigne la liste des attributs de R ), note
Y
(R)
ou Proj
Y
(R) est une relation S(Y),
S(Y) = {< y > | - x tel que < x, y > e R(X,Y) }.
La relation est constitue par les colonnes Y de
la relation R.
Projection :
Signature : Relation liste dattributs Relation
La projection dune relation R(X,Y) sur Y( o X
dsigne la liste des attributs de R ), note
Y
(R)
ou Proj
Y
(R) est une relation S(Y),
S(Y) = {< y > | - x tel que < x, y > e R(X,Y) }.
La relation est constitue par les colonnes Y de
la relation R.
75
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Exemple : La relation Genre_livre est le rsultat
de lexpression
Genre
(livre).
Relation livre Relation Genre_livre
NumLivre Genre
L3 Posie
Genre
Posie
Exemple : La relation Genre_livre est le rsultat
de lexpression
Genre
(livre).
Relation livre Relation Genre_livre
L3 Posie
L1 Posie
L2 Roman
L4 Roman
Posie
Roman
76
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Slection :
Signature : Relation expression logique Relation
La slection permet de rechercher dans une relation
les n-uplets qui satisfont une proprit donne sous la
forme dune expression logique. Elle est note
E
R
ou Select(R, E), o E est lexpression de slection. Le
rsultat est une relation de mme schma que la
relation R et dont chaque n-uplet vrifie lexpression
E, cest--dire :

E
R(X)= {< x > tel que < x > e R(X) et E(X) }.
Slection :
Signature : Relation expression logique Relation
La slection permet de rechercher dans une relation
les n-uplets qui satisfont une proprit donne sous la
forme dune expression logique. Elle est note
E
R
ou Select(R, E), o E est lexpression de slection. Le
rsultat est une relation de mme schma que la
relation R et dont chaque n-uplet vrifie lexpression
E, cest--dire :

E
R(X)= {< x > tel que < x > e R(X) et E(X) }.
77
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Exemple : soit la relation Livre de lexemple
prcdent,
la slection : o
(Genre=posie)
(Livre ) est la relation
appele LivrePosie:
Relation LivrePosie
la slection o
(Genre=Roman et NumLivre = L2 )
(Livre ) est la
relation appele Roman.
Relation Roman.
NumLivre Genre
Exemple : soit la relation Livre de lexemple
prcdent,
la slection : o
(Genre=posie)
(Livre ) est la relation
appele LivrePosie:
Relation LivrePosie
la slection o
(Genre=Roman et NumLivre = L2 )
(Livre ) est la
relation appele Roman.
Relation Roman.
NumLivre Genre
L3 Posie
L1 Posie
NumLivre Genre
L4 Roman
78
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Produit cartsien :
Signature : Relation Relation Relation.
Soit R(X) et S(Y) deux relations o X et Y sont des
ensembles disjoints dattributs.
Le produit cartsien de R(X) par S(Y) , not R S,
est constitu par lensemble des n-uplets obtenus en
concatnant chaque n-uplet de R avec chaque
n-ulpet de S, cest--dire :
R S = { < z > tel que x e R, y e S, - z e T tq
H
X
(z)= x et H
Y
(z )=y }.
Produit cartsien :
Signature : Relation Relation Relation.
Soit R(X) et S(Y) deux relations o X et Y sont des
ensembles disjoints dattributs.
Le produit cartsien de R(X) par S(Y) , not R S,
est constitu par lensemble des n-uplets obtenus en
concatnant chaque n-uplet de R avec chaque
n-ulpet de S, cest--dire :
R S = { < z > tel que x e R, y e S, - z e T tq
H
X
(z)= x et H
Y
(z )=y }.
79
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Exemple : soit les deux relations suivantes :
Relation R Relation S
Le rsultat du produit cartsien de R par S est la
relation T donne par :
Relation T
NumBib
B1
B2
NumLivre Genre
L3 Posie
L1 Posie
Exemple : soit les deux relations suivantes :
Relation R Relation S
Le rsultat du produit cartsien de R par S est la
relation T donne par :
Relation T
B2 L1 Posie
NumLivre Genre NumBib
L3 Posie B1
L3 Posie B2
L1 Posie B1
L1 Posie B2
80
M. Moussi
Lalgbre relationnelle ou langage
algbrique
jointure :
Signature : Relation Relationu-expression Relation
La u-jointure de deux relations R(X) et S(Y) permet de
constituer une relation sur la base dune u-expression
qui doit tre vrifie par des attributs communs, une u-
expression tant une expression logique construite
laide dexpressions de type X
i
Y
j
, u est lun des
oprateurs de comparaison : <, >,=, >, s, =.
Cette opration peut se dfinir comme la composition du
produit cartsien et dune slection utilisant la
u-expression, soit : o
(u-expression)
(R S).
jointure :
Signature : Relation Relationu-expression Relation
La u-jointure de deux relations R(X) et S(Y) permet de
constituer une relation sur la base dune u-expression
qui doit tre vrifie par des attributs communs, une u-
expression tant une expression logique construite
laide dexpressions de type X
i
Y
j
, u est lun des
oprateurs de comparaison : <, >,=, >, s, =.
Cette opration peut se dfinir comme la composition du
produit cartsien et dune slection utilisant la
u-expression, soit : o
(u-expression)
(R S).
81
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Exemple : soient les deux relations suivantes
Relation livre Relation auteur
Lqui-jointure(u est =)sur livre.NumLivre=Auteur.NumLivre est :
Relation auteurlivre
NumLivre Genre
L3 Posie
L1 Posie
L2 Histoire
NomAuteur NumLivre
Ahmed L3
Youssef L1
khaled L4
Exemple : soient les deux relations suivantes
Relation livre Relation auteur
Lqui-jointure(u est =)sur livre.NumLivre=Auteur.NumLivre est :
Relation auteurlivre
L2 Histoire
L4 Roman
khaled L4
Mohammed L5
NumLivre Genre NomAuteur NumLivre
L3 Posie Ahmed L3
L1 Posie Youssef L1
L4 Roman khaled L4
82
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Remarques :
La jointure naturelle de R et S (note R*S ) est
lqui-jointure de R et S sur les attributs ayant mme
nom dans R et S, suivie de la projection qui permet
de conserver un seul de ces attributs gaux de
mme nom.
La jointure se fait sur deux attributs qui reprsentent
la mme information mme si ils ont des noms
diffrents.
Remarques :
La jointure naturelle de R et S (note R*S ) est
lqui-jointure de R et S sur les attributs ayant mme
nom dans R et S, suivie de la projection qui permet
de conserver un seul de ces attributs gaux de
mme nom.
La jointure se fait sur deux attributs qui reprsentent
la mme information mme si ils ont des noms
diffrents.
83
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Union :
Signature : Relation Relation Relation.
Lunion de deux relations R(X) et S(X) est une
relation T(X), lensemble de ses n-uplets est
constitu par lunion des n-uplets de R et ceux de
S, cest--dire :
R S := T = {<x> tel que <x>e R ou <x>e S }.
Union :
Signature : Relation Relation Relation.
Lunion de deux relations R(X) et S(X) est une
relation T(X), lensemble de ses n-uplets est
constitu par lunion des n-uplets de R et ceux de
S, cest--dire :
R S := T = {<x> tel que <x>e R ou <x>e S }.
84
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Exemple : soient les deux relations :
Relation livre1 Relation livre2
Livre 1 Livre 2
NumLivre Genre
L3 Posie
L1 Posie
L2 Histoire
NumLivre Genre
L3 Posie
L1 Posie
L5 Roman
Exemple : soient les deux relations :
Relation livre1 Relation livre2
Livre 1 Livre 2
L2 Histoire
L4 Roman
L5 Roman
NumLivre Genre
L3 Posie
L1 Posie
L2 Histoire
L4 Roman
L5 Roman
85
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Intersection :
Signature : Relation Relation Relation.
Lintersection de deux relations R(X) et S(X) est
une relation T(X) constitue par les n-uplets
prsents la fois dans R et dans S :
R S := T = {<x> tel que <x>e R et <x>e S }.
Intersection :
Signature : Relation Relation Relation.
Lintersection de deux relations R(X) et S(X) est
une relation T(X) constitue par les n-uplets
prsents la fois dans R et dans S :
R S := T = {<x> tel que <x>e R et <x>e S }.
86
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Exemple :
Lintersection des deux relations prcdentes livre1 et
livre2 est la relation :
Livre 1 Livre 2
NumLivre Genre NumLivre Genre
L3 Posie
L1 Posie
87
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Diffrence :
Signature : Relation Relation Relation.
La diffrence entre deux relations R(X) et S(X)
est une relation T(X) constitue par les n-uplets
prsents dans R mais pas dans S :
R \ S := T = { <x> tel que <x>e R et <x>e S }
Diffrence :
Signature : Relation Relation Relation.
La diffrence entre deux relations R(X) et S(X)
est une relation T(X) constitue par les n-uplets
prsents dans R mais pas dans S :
R \ S := T = { <x> tel que <x>e R et <x>e S }
88
M. Moussi
Lalgbre relationnelle ou langage
algbrique
Exemple :
La diffrence des deux relations livre1 et livre2 est la
relation :
Livre 1 \ Livre 2
NumLivre Genre NumLivre Genre
L2 Histoire
L4 Roman
89
M. Moussi
Normalisation
Introduction :
La constitution de la liste dattributs du schma
doit reflter un phnomne du domaine
dapplication et, dautre part, ne doit pas
occasionner de redondance, avec toutes ses
implications.
Les formes normales des relations et les
mcanismes pour les construire permettent
dobtenir des relations non redondante.
Ces mcanismes sont fonds sur les notions de
cls de relations et de dpendances entre
donnes.
Introduction :
La constitution de la liste dattributs du schma
doit reflter un phnomne du domaine
dapplication et, dautre part, ne doit pas
occasionner de redondance, avec toutes ses
implications.
Les formes normales des relations et les
mcanismes pour les construire permettent
dobtenir des relations non redondante.
Ces mcanismes sont fonds sur les notions de
cls de relations et de dpendances entre
donnes.
90
M. Moussi
Normalisation
Exemple de mauvaise relation :
Relation Produit
cette relation prsente diffrentes difficults de mise
jour :
codeProduit libell PU Qt NumFournisseur Nom Adresse
P1 peinture 55 100 F451 Toto Oujda
Exemple de mauvaise relation :
Relation Produit
cette relation prsente diffrentes difficults de mise
jour :
P2 Poudre 62,4 200 FH215 Titi Casa
P3 huile 45 400 F214 Tintin oujda
91
M. Moussi
Normalisation
Anomalie de suppression : si je supprime un produit, je
doit supprimer tout le tuple, ce qui entrane la perte des
informations concernant le fournisseur.
Anomalie dinsertion : pour ajouter un nouveau
fournisseur, il faut obligatoirement fournir des valeurs
pour le code Produit et la quantit.
Anomalie de modification : si on souhaite changer
ladresse dun fournisseur , il faut parcourir tous les
tuples concerns (tous les produits quil fournit), si non
on aura une incohrence.
Anomalie de suppression : si je supprime un produit, je
doit supprimer tout le tuple, ce qui entrane la perte des
informations concernant le fournisseur.
Anomalie dinsertion : pour ajouter un nouveau
fournisseur, il faut obligatoirement fournir des valeurs
pour le code Produit et la quantit.
Anomalie de modification : si on souhaite changer
ladresse dun fournisseur , il faut parcourir tous les
tuples concerns (tous les produits quil fournit), si non
on aura une incohrence.
92
M. Moussi
Normalisation
Dcomposition en trois relations non redondantes
sans occasionner de perte dinformation.
Relation initiale :
Produit (code Produit, libell, PU, Qt, NumFournisseur,Nom,dresse)
Premire dcomposition :
Relation Produit1(code Produit, libell, PU)
Relation Produit2(code Produit, NumFournisseur, Qt, Nom,Adresse)
Deuxime dcomposition :
Relation Produit1(code Produit, libell, PU)
Relation Produit21(code Produit, NumFournisseur, Qt)
Relation Produit22(NumFournisseur, Nom, Adresse)
Dcomposition en trois relations non redondantes
sans occasionner de perte dinformation.
Relation initiale :
Produit (code Produit, libell, PU, Qt, NumFournisseur,Nom,dresse)
Premire dcomposition :
Relation Produit1(code Produit, libell, PU)
Relation Produit2(code Produit, NumFournisseur, Qt, Nom,Adresse)
Deuxime dcomposition :
Relation Produit1(code Produit, libell, PU)
Relation Produit21(code Produit, NumFournisseur, Qt)
Relation Produit22(NumFournisseur, Nom, Adresse)
93
M. Moussi
Normalisation
Dpendances fonctionnelles (DFs) :
Dfinition : Soit R(X, Y, Z) un schma de relation
avec Z ventuellement vide. On dit que X dtermine
Y dans R, ou Y dpend fonctionnellement de X
dans R, si pour tout tuple <x, y, z>, <x,y,z> de R,
x =x y =y. On note X Y.
Exemple :
Dans le schma :
Produit(code Produit, libell, PU, Qt, NumFournisseur,
Nom, adresse), on a les dpendances fonctionnelles :
code Produit libell, PU ;
NumFournisseur Nom, adresse;
code Produit, NumFournisseur Qt.
Dpendances fonctionnelles (DFs) :
Dfinition : Soit R(X, Y, Z) un schma de relation
avec Z ventuellement vide. On dit que X dtermine
Y dans R, ou Y dpend fonctionnellement de X
dans R, si pour tout tuple <x, y, z>, <x,y,z> de R,
x =x y =y. On note X Y.
Exemple :
Dans le schma :
Produit(code Produit, libell, PU, Qt, NumFournisseur,
Nom, adresse), on a les dpendances fonctionnelles :
code Produit libell, PU ;
NumFournisseur Nom, adresse;
code Produit, NumFournisseur Qt.
94
M. Moussi
Normalisation
Proprits des DFs :
Rflexivit : si Y _ X alors X Y.
Augmentation : si X Y alors X Z Y Z.
Transitivit : si X Y et Y Z alors X Z.
Union : si X Y et X Z alors X Y Z.
Pseudo-transitivit : si X Y et Y WZ.
alors X WZ.
Dcomposition : si X Y et Z _ Y alors X Z.
Proprits des DFs :
Rflexivit : si Y _ X alors X Y.
Augmentation : si X Y alors X Z Y Z.
Transitivit : si X Y et Y Z alors X Z.
Union : si X Y et X Z alors X Y Z.
Pseudo-transitivit : si X Y et Y WZ.
alors X WZ.
Dcomposition : si X Y et Z _ Y alors X Z.
95
M. Moussi
Normalisation
Typologie des DFs :
X Y est triviale si Y _ X.
X Y est lmentaire si pour tout X c X, la DF
X Y nest pas vrai. i.e., Y ne dpend dune partie
de X. Par exemple, codeProduit, libell PU nest
pas lmentaire.
X Y est canonique si sa partie droite ne comporte
quun seul attribut et un ensemble F de DFs est
canonique si chacune de ses dpendances est
canonique.
X Y est directe si elle est lmentaire et si Y ne
dpend pas transitivement de X.
Typologie des DFs :
X Y est triviale si Y _ X.
X Y est lmentaire si pour tout X c X, la DF
X Y nest pas vrai. i.e., Y ne dpend dune partie
de X. Par exemple, codeProduit, libell PU nest
pas lmentaire.
X Y est canonique si sa partie droite ne comporte
quun seul attribut et un ensemble F de DFs est
canonique si chacune de ses dpendances est
canonique.
X Y est directe si elle est lmentaire et si Y ne
dpend pas transitivement de X.
96
M. Moussi
Normalisation
Graphe des DFs :
Les DFs peuvent tre prsentes laide dun
graphe dont les nuds sont les attributs
impliqus dans les Dfs et les arcs sont les
dpendances. Par exemple, T(A, B, C, D, E) avec
les DFs : E A , E B, E C et C D :
E
A B C
D
Graphe des DFs :
Les DFs peuvent tre prsentes laide dun
graphe dont les nuds sont les attributs
impliqus dans les Dfs et les arcs sont les
dpendances. Par exemple, T(A, B, C, D, E) avec
les DFs : E A , E B, E C et C D :
E
A B C
D
97
M. Moussi
Normalisation
Exemple :
Produit (code Produit, libell, PU, Qt, NumFournisseur, adresse),
on a les DFs :
NumFournisseur adresse ;
code Produit libell ;
code Produit PU ;
NumFournisseur , code Produit Qt ;
et le graphe DFS :
NumFournisseur code Produit
Adresse Qt PU libell
Exemple :
Produit (code Produit, libell, PU, Qt, NumFournisseur, adresse),
on a les DFs :
NumFournisseur adresse ;
code Produit libell ;
code Produit PU ;
NumFournisseur , code Produit Qt ;
et le graphe DFS :
NumFournisseur code Produit
Adresse Qt PU libell
98
M. Moussi
Normalisation
DFs et identifiants :
Un attribut ou une liste dattributs X est une cl
pour la relation R(X,Y,Z) si X Y Z.
X est une cl minimale si X Y Z est
lmentaire.
Le graphe minimum des DFs permet de trouver
les identifiants de la table.
Lidentifiant dune table est lensemble minimal
des nuds du graphe minimum partir desquels
on peut atteindre tous les autres nuds.
DFs et identifiants :
Un attribut ou une liste dattributs X est une cl
pour la relation R(X,Y,Z) si X Y Z.
X est une cl minimale si X Y Z est
lmentaire.
Le graphe minimum des DFs permet de trouver
les identifiants de la table.
Lidentifiant dune table est lensemble minimal
des nuds du graphe minimum partir desquels
on peut atteindre tous les autres nuds.
99
M. Moussi
Normalisation
Fermeture transitive : la fermeture transitive dun
ensemble F de DFs lmentaires est lensemble,
not F
+
, de DFs lmentaires obtenu en ajoutant
F les DFs lmentaires obtenues par transitivit.
Exemple : T(A, B, C, D, E), avec les DFS :
F = { E A, E B, E C, C D},
F
+
= F { E D }.
Deux ensembles de DFs sont dits quivalents sils
ont la mme fermeture transitive.
Fermeture transitive : la fermeture transitive dun
ensemble F de DFs lmentaires est lensemble,
not F
+
, de DFs lmentaires obtenu en ajoutant
F les DFs lmentaires obtenues par transitivit.
Exemple : T(A, B, C, D, E), avec les DFS :
F = { E A, E B, E C, C D},
F
+
= F { E D }.
Deux ensembles de DFs sont dits quivalents sils
ont la mme fermeture transitive.
100
M. Moussi
Normalisation
Couverture minimale :
Ensemble F de DFs lmentaires vrifiant :
Aucune dpendance dans F nest redondante, i.e.,
pour toute DF f de F, F-f nest pas quivalente F
Toute DF lmentaire des attributs est dans F+
En gnral, nest pas unique.
Est utile pour la dcomposition sans perte
dinformation.
Exemple : lensemble des DFs
F = { E A, E B, E C, C D}, admet comme
couvertuture minimale, lensemble :
{ E A, E B, E C, C D},
Couverture minimale :
Ensemble F de DFs lmentaires vrifiant :
Aucune dpendance dans F nest redondante, i.e.,
pour toute DF f de F, F-f nest pas quivalente F
Toute DF lmentaire des attributs est dans F+
En gnral, nest pas unique.
Est utile pour la dcomposition sans perte
dinformation.
Exemple : lensemble des DFs
F = { E A, E B, E C, C D}, admet comme
couvertuture minimale, lensemble :
{ E A, E B, E C, C D},
101
M. Moussi
Normalisation
Normalisation par dcomposition :
Notion de dcomposition :
R(X, Y, Z) est dcomposable selon (X, Y) et (X,
Z) sil existe R1 et R2 telles que R1=Proj
X,Y
(R),
R2= Proj
X,Z
(R) et R=R1*R2. i.e., R est la jointure
naturelle de R1 et de R2.
La dcomposition en sous-relations doit vrifier
deux critres fondamentaux :
tre sans perte dinformation et
prserve les dpendances fonctionnelles.
Normalisation par dcomposition :
Notion de dcomposition :
R(X, Y, Z) est dcomposable selon (X, Y) et (X,
Z) sil existe R1 et R2 telles que R1=Proj
X,Y
(R),
R2= Proj
X,Z
(R) et R=R1*R2. i.e., R est la jointure
naturelle de R1 et de R2.
La dcomposition en sous-relations doit vrifier
deux critres fondamentaux :
tre sans perte dinformation et
prserve les dpendances fonctionnelles.
102
M. Moussi
Normalisation
Dcomposition sans perte dinformation :
Une dcomposition est sans perte dinformation
si la jointure naturelle des sous-relations donne
exactement tous les tuples de la relation initiale.
Exemple :
Relation R
avec les DFs :
AB,C ;
CD ;
DB.
Dcomposition sans perte dinformation :
Une dcomposition est sans perte dinformation
si la jointure naturelle des sous-relations donne
exactement tous les tuples de la relation initiale.
Exemple :
Relation R
avec les DFs :
AB,C ;
CD ;
DB.
A B C D
a 5 x 2
b 5 y 1
c 5 x 2
103
M. Moussi
Normalisation
La relation R est dcompose en deux sous-relations
R1(A, B) et R2(B, C, D) :
Relation R1 Relation R2
La jointure de R1 et R2 fournit 6 tuples alors que la
relation R nen possdait que 3.
B C D
5 x 2
A B
a 5
La relation R est dcompose en deux sous-relations
R1(A, B) et R2(B, C, D) :
Relation R1 Relation R2
La jointure de R1 et R2 fournit 6 tuples alors que la
relation R nen possdait que 3.
5 x 2
5 y 1
b 5
c 5
104
M. Moussi
Normalisation
Thorme de dcomposition : Si R(X, Y, Z) est
une relation avec X Y. alors R(X, Y, Z) est
dcomposable sans perte dinformation en R1(X,Y)
et R2(X, Z), i.e., R est une jointure des deux
relations R1 et R2.
Thorme de dcomposition : Si R(X, Y, Z) est
une relation avec X Y. alors R(X, Y, Z) est
dcomposable sans perte dinformation en R1(X,Y)
et R2(X, Z), i.e., R est une jointure des deux
relations R1 et R2.
105
M. Moussi
Normalisation
Dcomposition avec prservation des DFs :
Dcomposition dune relation R en R1, R2,Rn,
telle que F+ des DFs de R est la mme que celle
de lunion des DFs de R1,R2,Rn.
Exemple : La dcomposition de la relation
R(A,B,C,D) prcdente en R1(A, B, C) et R2(A,D)
est sans perte dinformation mais avec perte de
DFs, D B ne peut pas se retrouver sur la
projection des DFs initiales sur la dcomposition.
Dcomposition avec prservation des DFs :
Dcomposition dune relation R en R1, R2,Rn,
telle que F+ des DFs de R est la mme que celle
de lunion des DFs de R1,R2,Rn.
Exemple : La dcomposition de la relation
R(A,B,C,D) prcdente en R1(A, B, C) et R2(A,D)
est sans perte dinformation mais avec perte de
DFs, D B ne peut pas se retrouver sur la
projection des DFs initiales sur la dcomposition.
106
M. Moussi
Normalisation
Formes normales :
Premire forme normale : une relation est dite
en premire forme normale (1FN), si :
chaque valeur de chaque attribut de chaque tuple est
une valeur simple et mono-valu.
Exemple : cours (numEtudiant, listcours ) nest pas
en 1FN car lattribut listcours nest pas simple.
Formes normales :
Premire forme normale : une relation est dite
en premire forme normale (1FN), si :
chaque valeur de chaque attribut de chaque tuple est
une valeur simple et mono-valu.
Exemple : cours (numEtudiant, listcours ) nest pas
en 1FN car lattribut listcours nest pas simple.
107
M. Moussi
Normalisation
Deuxime forme normale : Une relation est dite
en deuxime forme normale (2FN) si et seulement
si :
elle est en 1FN et
tout attribut nappartenant pas une cl ne dpend
pas dune partie de la cl.
Exemple :
Produit2(code Produit,NumFournisseur, Qt, Nom, adresse)
nest pas en 2FN, les attributs nom et adresse ne
dpendent que du NumFournisseur.
Deuxime forme normale : Une relation est dite
en deuxime forme normale (2FN) si et seulement
si :
elle est en 1FN et
tout attribut nappartenant pas une cl ne dpend
pas dune partie de la cl.
Exemple :
Produit2(code Produit,NumFournisseur, Qt, Nom, adresse)
nest pas en 2FN, les attributs nom et adresse ne
dpendent que du NumFournisseur.
108
M. Moussi
Normalisation
Troisime forme normale : une relation est en
troisime forme normale (3FN) si
elle est en 2FN et
si tout attribut ne fait pas partie dune cl ne dpend
pas dun attribut non cl.
Exemple :
Enseignant (Nom, Bureau, Dpartement, Discipline, TlBur)
Avec des rgles de gestions qui se traduisent par
les DFs suivantes:
Dpartement Discipline
Dpartement, Bureau TlBur
TlBur Bureau, dpartement,
Nest pas en 3FN.
Troisime forme normale : une relation est en
troisime forme normale (3FN) si
elle est en 2FN et
si tout attribut ne fait pas partie dune cl ne dpend
pas dun attribut non cl.
Exemple :
Enseignant (Nom, Bureau, Dpartement, Discipline, TlBur)
Avec des rgles de gestions qui se traduisent par
les DFs suivantes:
Dpartement Discipline
Dpartement, Bureau TlBur
TlBur Bureau, dpartement,
Nest pas en 3FN.
109
M. Moussi
Normalisation
Thorme : toute relation a au moins une
dcomposition en 3FN qui est sans perte
dinformation et qui prserve les DFs.
110
M. Moussi
Normalisation
Algorithme de dcomposition en 3FN :
Entre : R(X) avec F est lensemble des DF.
Sortie : S = { R1, R2, ,Rn } avec Ri(Xi) en 3NF.
tape 1 : Rechercher une couverture minimale
CM(F) de F.
tape 2 : Partitionner CM(F) en F1, F2, , Fn
tels que toutes les DFs dun mme groupe aient
la mme partie gauche.
tape 3 : Construire les Ri(Xi) avec Xi constitue
de lunion des attributs de Fi.
Algorithme de dcomposition en 3FN :
Entre : R(X) avec F est lensemble des DF.
Sortie : S = { R1, R2, ,Rn } avec Ri(Xi) en 3NF.
tape 1 : Rechercher une couverture minimale
CM(F) de F.
tape 2 : Partitionner CM(F) en F1, F2, , Fn
tels que toutes les DFs dun mme groupe aient
la mme partie gauche.
tape 3 : Construire les Ri(Xi) avec Xi constitue
de lunion des attributs de Fi.
111
M. Moussi
Normalisation
Exemple1 : soit la relation T(A, B, C, D, E), avec les
DFS lmentaires suivantes : E A, E C,
A B et C D.
lalgorithe prcdent donne les trois relations :
T1(E, A, C), T2(A, B) et T3(C, D).
Exemple 2 : soit la relation R(A, B, C,D, E), avec les
DFS lmentaires suivantes : A B, A C,
C, D E et BD. lalgorithe donne les trois relations :
R1(A,B,C), R2(C,D,E) et R3(B,D)
Exemple1 : soit la relation T(A, B, C, D, E), avec les
DFS lmentaires suivantes : E A, E C,
A B et C D.
lalgorithe prcdent donne les trois relations :
T1(E, A, C), T2(A, B) et T3(C, D).
Exemple 2 : soit la relation R(A, B, C,D, E), avec les
DFS lmentaires suivantes : A B, A C,
C, D E et BD. lalgorithe donne les trois relations :
R1(A,B,C), R2(C,D,E) et R3(B,D)
112
M. Moussi
http://Naj7in.com/fac
Good Luck :)