Académique Documents
Professionnel Documents
Culture Documents
I- Dfinition
Comme dj vue dans le chapitre prcdent, le modle logique
de donne relationnel MLDR est une reprsentation du monde
rel en utilisant les notions de tables ou relations. Cependant, un
modle efficace doit non seulement comporter des objets
(relation) mais aussi les oprations sur ces objets.
La structure fondamentale (relation) du MLDR ressemble
beaucoup plus un ensemble (de tuples), ce qui fait que les
oprations vont tre des oprations sur ensemble (union,
intersection ).
On distingue deux types doprations : les oprations actives
(permettent de modifier la base de donnes insertion,
suppression, modifier) et les oprations passives (permettent la
drivation de donnes par la recherche et lassociation de
plusieurs donnes partir de quelques relations slection,
union ).
Algbre relationnel est un algbre portant sur le deuxime type
doprations (passives).
IIReprsentation dune relation
Avant de dfinir les oprations de lalgbre relationnel, il faut
reprsentait la relation dune manire algbrique.
Une relation R est reprsenter algbriquement par:
R={rk=< , , , >}
Avec n le nombre dattribut (colonne) on lappel degr.
k le nombre de tuple (lignes) on lappel Cardinalit.
Exemple : la relation module
ID
MODULES
E10 Mathematics
E12 Electronics
E14 Programming
Cette relation sera reprsenter algbriquement par :
Module{<E10,Mathematics>,<E12,Electronics>,<E14,Program
ming>} la cardinalit de cette relation est 3 et le degr est 2.
IIIOprations dalgbre relationnel
On distingue 10 oprations :
UNION
Binaire
Oprations sur
DIFFERENCE
Binaire
INTERSECTION Binaire
ensembles classiques
PRODUIT
Binaire
PROJECTION
Unaire
RESTTRICTION
Unaire
Oprations
SELECTION
Unaire
complmentaires
JOINTURE
Binaire
DIVISION
Binaire
RENOMMER
Unaire
1- Union
Soit les deux relations R={rk= < 1 , 2 , , >}
et
S={si=< 1 , 2 , ,
>}. La relation Q= = {rk} {si}
est dite une union de R et S ssi R et S sont compatible union
c..dire : n=m et pour chaque attribut il y a un attribut tel
que et possdent le mme domaine.
Si une mme occurrence existe dans R et S, elle napparat
quune seule fois dans le rsultat de lunion Q.
2- Diffrence
Soit les deux relations R={rk= < 1 , 2 , , >}
et
S={si=< 1 , 2 , ,
>}. La relation Q=\ = {rk}\ {si} est
dite diffrence entre R et S ssi R et S sont compatible union.
Module : Base de donnes
2016-2017 Semestre II
3- Intersection
Soit les deux relations R={rk= < 1 , 2 , , >}
et
S={si=< 1 , 2 , ,
>}. La relation Q= = {rk} {si}
est dite intersection de R et S ssi R et S sont compatible union.
Exemples : Soit les deux relations suivantes :
Etudiant
Instructeur
Nom
Prenom
Nom
Prenom
BENALI
Zoubir
KARA
Ahmed
AMRANE
Toufik
BALI
Omar
BOUZIANE
Hmida
BENALI
Zoubir
OUMELLAL ALI
KORSO
Henia
AIT IDIR
Houria
AMRANE
Toufik
RAHMANI
FATNA
OUELD ALI
EL BATOUL
Etudiant Instructeur
Etudiant Instructeur
Nom
Prenom
Nom
Prenom
BENALI
Zoubir
BENALI
Zoubir
AMRANE
Toufik
AMRANE Toufik
BOUZIANE
Hmida
OUMELLAL ALI
AIT IDIR
Houria
RAHMANI
FATNA
OUELD ALI
EL BATOUL
KARA
Ahmed
BALI
Omar
KORSO
Henia
Etudiant \ Instructeur
Instructeur \ Etudiant
Nom
Prenom
Nom
Prenom
BOUZIANE
Hmida
KARA
Ahmed
OUMELLAL ALI
BALI
Omar
AIT IDIR
Houria
KORSO Henia
RAHMANI
FATNA
OUELD ALI
EL BATOUL
4- Produit
Soit les deux relations R={rk= < 1 , 2 , , >}
et
S={si= < 1 , 2 , ,
>} . La relation Q= = {rk= <
1 , 2 , , , 1 , 2 , ,
>} est dite produit de R et S.
Dune manire : cest la concatnation des attributs.
Exemples : Soit les deux relations suivantes :
Personne
Cadeau
nom
prenom
article
Prix
OUMMI Lahbiba
Livre
450
BABA
Laziz
Sac
1000
Montre
1500
Personne Cadeau
nom
prenom
OUMMI Lahbiba
OUMMI Lahbiba
OUMMI Lahbiba
BABA
Laziz
BABA
Laziz
BABA
Laziz
article
Livre
Sac
Montre
Livre
Sac
Montre
Prix
450
1000
1500
450
1000
1500
A.BEKADDOUR
possibilits
page 1
()
Exemple : soit la relation suivante :
PERSONNE
idPersonne
nom
prenom
5
Kouider
Ezzedam
1
Kadour
El vint quatre
12
Moh
Bab el ouad
3
Hacen
Tero
Project PERSONNE(nom,prenom) ou encore
( , )
nom
prenom
Kouider
Ezzedam
Kadour
El vint quatre
Moh
Bab el ouad
Hacen
Tero
Cette projection permet de lister tous les noms et prnoms de
toutes les personnes personnes.
6- Restriction
Soit la relation R={ri=< 1 , 2 , , >} on appel restriction de
R sur les attributs rp et rq dfinit par :
Restrict R(comparer(rp,rq))={rk : comparer(rp,rq) est vraie et rk
R}, k {1 .. i} et p,q {1 .. n}.
Exemple : soit la relation :
AUCTION
REF
Achat
Cout Vente
Prix
R005
17-Mar-84 25.00 23-Sep-86 12.50
R020
02-Dec-43 4.00
17-Oct-88 145.50
R022
09-Nov-79 7.50
21-Nov-88 3.25
R048
15-May-68 3.50
16-Mar-89 8.50
R049
15-May-68 3.50
16-Mar-89 8.50
R073
27-Aut-76 18.50 25-Mar-89 9.25
Restrict Auction(Prix>Cout)
REF
Achat
Cout Vente
Prix
R020
02-Dec-43 4.00
17-Oct-88 145.50
R048
15-May-68 3.50
16-Mar-89 8.50
R049
15-May-68 3.50
16-Mar-89 8.50
Cette restriction permet de restreindre toutes les Enchres
ceux ayant le cout infrieur au prix de vente.
7- Slection
Soit la relation R={ri=< 1 , 2 , , >} on appel slection de
R sur la condition ( , +1
, , ) dfinit par :
Select R()={rk : ( , +1
, , ) est vraie et rk R}, k {1 ..
i} et p, q {1 .. n}.
( , +1
, , ) est une condition compose de comparateurs
logiques (et ou non) et de comparateurs relationnels (< > =
).
Remarque : une autre notation de la slection existe aussi :
2016-2017 Semestre II
Select PERSONNE(idPersonne5) ou encore
(idPersonne 5)
idPersonne
nom
prenom
5
Kouider
Ezzedam
12
Moh
Bab el ouad
Cette slection permet de lister les personnes dont lidentifiant
est suprieur ou gale 5.
8- Jointure
Soit les deux relations R={rk=< 1 , 2 , , >} et
S={si=< 1 , 2 , ,
>}. La jointure de la relation R sur
lattribut rp avec la relation S sur lattribut sq est la relation Q
qui concatne les paires r et s.
Q=Join(R,S [(rp,sq)])= {rk=< 1 , 2 , , , 1 , 2 , ,
> , }
Remarque : une autre notation de la jointure existe aussi :
( , )
On fait, la jointure nest quun produit cartsien suivi dune
slection: ()
Exemple : Soit les deux relations suivantes :
PERSONNE
CADEAU
nom
OUMMI
BABA
DJEDI
prenom
Lahbiba
Laziz
Lakbir
Age
46
52
69
Agec
99
46
55
10
Prix
450
1000
1500
400
prenom
Lahbiba
Lahbiba
Laziz
Lakbir
Age
46
46
52
69
Agec
99
46
99
99
article
Livre
Sac
Livre
Livre
Prix
450
1000
450
450
prenom
Lahbiba
Laziz
Lakbir
Age
46
52
69
Agec
99
46
55
10
()
Exemple : soit la relation suivante :
idPersonne
nom
prenom
5
Kouider
Ezzedam
1
Kadour
El vint quatre
12
Moh
Bab el ouad
3
Hacen
Tero
article
Livre
Sac
Montre
dguisement
article
Livre
Sac
Montre
dguisement
Prix
450
1000
1500
400
prenom
Lahbiba
Age
46
Agec
46
A.BEKADDOUR
article
Sac
Prix
1000
page 2
prenom
Lahbiba
Laziz
Lakbir
Age
46
52
69
Agec
69
46
52
10
article
Livre
Sac
Montre
dguisement
Prix
450
1000
1500
400
2016-2017 Semestre II
RENOMMER(R[prenom/prnom]) ou encore
/
PERSONNE
nom
OUMMI
BABA
DJEDI
prenom
Lahbiba
Laziz
Lakbir
Age
46
52
69
-Rsum :
Join(PERSONNE,CADEAU : Age)
Ou encore PERSONNEAge CADEAU
Ou encore (Age ) PERSONNECADEAU
nom
OUMMI
BABA
DJEDI
prenom
Lahbiba
Laziz
Lakbir
Age
46
52
69
article
Sac
Montre
Livre
Prix
1000
1500
450
9- Division
Diviser(ENSEIGNENT,ETUDIANT :[ENSEIGNENT.nom|ET
UDIANT.nom])
ou encore ENSEIGNENT / ETUDIANT
Nom
BENALI
AMRANE
10- RENOMMER
Soit la relation R={ri=< 1 , 2 , , >} . On appelle
RENOMMER(R[nouveau/r])=R en renommant r par nouveau.
Exemple : soit la relation
PERSONNE
nom
OUMMI
BABA
DJEDI
prnom
Lahbiba
Laziz
Lakbir
Age
46
52
69
A.BEKADDOUR
page 3
2016-2017 Semestre II
R3= Join (R2,MARCHANDISE:[R2.producer= MARCHANDISE.
producer ^ R2.ProductCode= MARCHANDISE.ProductCode ])
ou R3=..
R4= Project R3(Producer,ProductCode,Description)
Ou R4=
Notation graphique :
Producer,ProductCode,Description
R2.producer=MARCHANDISE
.producer ^ R2.ProductCode=
MARCHANDISE.ProductCode
MARCHANDISE
R1.#branch=LIVRAISON.#branch ^
R1.#stock=LIVRAISON.#stock
LIVRAISON
DateIn=DateOut
STOCK
IVExpression algbrique relationnelle
Afin dappliquer les oprations dalgbre relationnel en
pratique, on utilise les expressions algbriques.
Une expression algbrique relationnelle est une combinaison
doprations dalgbre relationnel. On distingue deux types
dcriture de ces expressions : requte et notation graphiques :
: Slection ou restriction
: Jointure
: Projection
VNormalisation
La normalisation est une technique permettant de produire de
nouvelles relations tables) partir dun ensemble de relations
initiales et ceci dans le but dviter :
Les anomalies dinsertion
Prenant lexemple de la base de donnes des magasins de Les anomalies de suppression
vtement de mode MVM. Cette base contient des informations Les anomalies de modification
sur diverses marchandises livres un certain nombre de Prenant lexemple de la relation enregistrement_cours suivante :
branches MVM.
#Id_Etudiant #Module Nom_Etu Adress
Nom_Mod
S21
8049
Hmida
Tlemcen Base Donne
MARCHANDISE (Producteur, Code_produit, Description)
S21
8030
Hmida
Tlemcen Algorithm
LIVRAISON (Producteur, Coe_produit, #Branch, #Stock)
S34
8049
Ali
Mila
Base Donne
STOCK (#Branch, #Stock, Taille, Couleur, Prix_V, Prix_A, DateE,
Cette relation permet denregistrer les dtails de chaque tudiant
DateS)
prenant des cours particulires.
MARCHANDISE
La cl primaire de cette relation est compose :
Producteur
Code_produit
Description
(#Id_Etudiant, #Module)
Boss
J162
Jeans
On remarque que pour la mme valeur de #Id_Etudiant les
Boss
K443
T-shirt
valeurs de Nom_Etu, Adress ne change pas, on dit alors que
Mediya
V612
Veste cuire
#Id_Etudiant dtermine Nom_Etu et Adress (ou encore il y a
LIVRAISON
une dpendance fonctionnelle #Id_Etudiant Nom_Etu) et
Producteur
Code_produit
#Branche
#stock
on crit :
Boss
J162
TLM
1003
#Id_Etudiant Nom_Etu
Boss
J162
ALG
1003
#Id_Etudiant Adress
Mediya
V612
TLM
1010
On remarque aussi que:
STOCK
#Module Nom_Mod
#Branche #stock Taille Couleur Prix_V Prix_A DateE DateS
(#Id_Etudiant, #Module) Nom_Etu
1003
M
Bleu
15.50
15.50
2/5/99 2/5/99
TLM
(#Id_Etudiant, #Module) Adress
1004
S
Bleu
15.50
15.50
2/5/99 8/5/99
TLM
1003
L
Blanc
5.50
4.00
3/4/00 Stock
(#Id_Etudiant, #Module) Nom_Mod
ALG
1045
L
Rouge
17.45
7.85
5/4/00 2/5/00
Si on note X lensemble des attributs de la relation:
ALG
1020
L
Bleu
17.45
7.85
4/5/00 Stock
ALG
X={#Id_Etudiant, #Module, Nom_Etu, Adress, Nom_Mod }
ORN
1004
M
Vert
21.30
12.45
6/7/00 8/8/00
Et X1, X2,X3,X4,X5,X6 des sous-ensemble de X avec:
- On dsir trouver tous les marchandises vendue le mme jour arrivant X1={#Id_Etudiant, #Module }
nimporte quelle branche.
X2={#Id_Etudiant,}
Requte :
X3={#Module }
R1=restrict STOCK (DateE=DateS)
X4={ Nom_Etu }
Ou R1=
X5={Adress}
R2= Join (R1,LIVRAISON:[R1.#branch=LIVRAISON.#branch ^
X6={
Nom_Mod }
R1.#stock=LIVRAISON.#stock ])
Alors,
on dit que la relation enregistrement_cours possde les
Ou R2=.
dpendances fonctionnelles suivantes :
Module : Base de donnes
Chap3 : Algbre relationnel
A.BEKADDOUR
page 4
S33
bbbbb
bbbbb 8755
Benali
bbbbb
Tlemcen
bbbbb
bbbbb
#Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Lotfi DK
Genre
Chaabi
Nation
Inchad mod
Inchad
Rap
#Album1
Lehmam
Djazairi
Ya Rabi
Al Ain
style
Date1
10/01/80
25/05/05
12/12/11
03/11/12
02/11/13
#Album2
NULL
NULL
NULL
Phalastini
Denya
Date2
NULL
NULL
NULL
16/07/06
10/01/05
Genre
Chaabi
Nation
Inchad mod
Inchad
Rap
Relation album
Album Date
Lehmam
Djazairi
Ya Rabi
Al Ain
Phalastini
style
Denya
10/01/80
25/05/05
12/12/11
03/11/12
16/07/06
02/11/13
10/01/05
#Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Abu Almajd
Lotfi DK
Lotfi DK
chimie
2016-2017 Semestre II
Relation artiste
Genre
Chaabi
Nation
Inchad mod
Inchad
Madih
Rap
Rap remix
Date_sign
10/01/80
25/05/05
12/12/11
03/11/12
02/11/13
10/01/80
25/05/05
Agent
ONCI
ONCI
Djelloul
Cherouk
Cherouk
Lotfi
Lotfi
Ag_Tel1
555-1234
555-1234
555-1234
555-1111
555-1111
555-4213
555-4231
Ag_Tel2
NULL
NULL
555-0000
NULL
NULL
555-9999
555-9999
Genre
Chaabi
Nation
Inchad mod
Inchad
Madih
Rap
Rap remix
Date_sign
10/01/80
25/05/05
12/12/11
03/11/12
02/11/13
10/01/80
25/05/05
agents
Agent
ONCI
ONCI
Djelloul
Cherouk
Lotfi
Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Lotfi DK
Ag_Tel1
555-1234
555-1234
555-1234
555-1111
555-4213
A.BEKADDOUR
Ag_Tel2
NULL
NULL
555-0000
NULL
555-9999
page 5
Genre
Chaabi
Nation
Inchad mod
Inchad
Madih
Rap
Rap remix
2016-2017 Semestre II
Date_sign
10/01/80
25/05/05
12/12/11
03/11/12
02/11/13
10/01/80
25/05/05
agents
Agent
ONCI
Djelloul
Cherouk
Lotfi
Ag_Tel1
555-1234
555-1234
555-1111
555-4213
Ag_Tel2
NULL
555-0000
NULL
555-9999
acte
#Agent
ONCI
ONCI
Djelloul
Cherouk
Lotfi
#Nom_Art
El Onka
Deriassa
Djelloul
Abu Almajd
Lotfi DK
A.BEKADDOUR
page 6