Académique Documents
Professionnel Documents
Culture Documents
2
2
2
2
2. EXEMPLES DE RELATION
3. EXEMPLE DE RELATION
C.
D.
II.
A.
B.
C.
III.
A.
B.
C.
D.
IV.
A.
B.
C.
1.
4
4
5
5
6
7
8
8
8
10
11
13
13
14
16
16
2. JOINTURE NATURELLE
17
3. LA JOINTURE EXTERNE
18
4. CAS PARTICULIERS
19
V.
LES OPERATIONS DE CALCULS ET DAGREGATS
A. COLONNES CALCULEES
B. COMPTE
C. SOMME
VI. LES EXPRESSIONS DE L'ALGEBRE RELATIONNELLE
A. QUELQUES EXEMPLES
B. PLUSIEURS SOLUTIONS
VII. EXERCICES DENTRAINEMENT
VIII. BIBLIOGRAPHIE
AlgebreRelationnelle_support.docx
16/10/2012
20
20
21
22
23
23
24
25
27
Page 1
Algbre relationnelle
I. Introduction
A. Origine
Lalgbre relationnelle a t introduite dans les annes 1970 par Edgar Frank Codd ( Ted Codd, 1923-2003), alors
informaticien chez IBM, pour formaliser les oprations sur les relations, partir de la thorie des ensembles.
Lobjectif tait de crer une plus grande indpendance entre programmes et reprsentation internes des donnes et
disposer de rgles permettant de rsoudre les problmes de cohrence et de redondance de donnes dans les
fichiers.
Ses travaux sont lorigine des bases de donnes relationnelles, modle de BD le plus utilis encore aujourdhui, et
de SQL, langage dclaratif de manipulation des donnes dune BD relationnelle, partir des oprateurs de lalgbre
relationnelle.
Le modle relationnel sinscrit galement dans les phases de la conception des bases de donnes.
Cf.Article de EF Codd : http://www.databaseanswers.org/downloads/Codds_1970_Paper.pdf
B. Les relations
1. Terminologie
La relation (mathmatique) entre 2 ensembles (binaire) E1 et E2 est forme par le sous-ensemble du produit cartsien
E1 X E2. Chacun des 2 ensembles est dfini par son domaine de valeurs, ensemble des valeurs pouvant tre prises par
ses lments. La relation forme ainsi un ensemble de couples, chacun tant form dun 1er lment appartenant E1
et dun 2nd appartenant E2.
Le terme n-uplets (tuples en anglais), qualifie lensemble de couples forms par le produit cartsien de n
ensembles.
les nombre entiers de 1900 1999 : {1900, 1901, 1902,..., 1998, 1999} annee
les nombre entiers de 1 31 : {1, 2, 3,..., 30, 31} jour
les jours de la semaine : {dimanche, lundi, mardi, ..., vendredi, samedi} jourSemaine
les mois de lanne : {janvier, fvrier, mars, ..., novembre, dcembre} mois
Une relation est un sous-ensemble du produit cartsien dune liste de domaines. Une
relation possde un identificateur.
Rappel : Le produit cartsien de deux ensembles X et Y est l'ensemble de tous les couples, dont la premire
composante appartient X et la seconde Y. Lensemble ainsi produit peut former un produit cartsien avec un 3me
ensemble Z, etc.
Exemple dune relation dateNaissanceEtudiant :
Le produit cartsien jourSemaine X jour X mois X annee constitue un ensemble compos de toutes les
combinaisons possibles (certaines nexisteront jamais, par exemple le 30 fvrier)
la relation dateNaissanceEtudiant sera forme par un sous-ensemble de ce produit cartsien (en effet,
certains jours aucun tudiant ne sera n)
Un attribut est ainsi un des lments dune relation. Chaque attribut appartient un
domaine de valeur et possde un identificateur.
Exemples dattributs :
AlgebreRelationnelle_support.docx
16/10/2012
Page 2
Algbre relationnelle
jourSemaine,
jourNaissance :
jour,
moisNaissance :
mois,
2. Exemples de relation
On considre la relation R dfinie par les attributs A, B et C :
A
a
d
c
B
b
a
b
C
c
f
d
3. Exemple de relation
On considre la relation Individu dfinie par les attributs numero , nom , prnom et dateNaissance :
en comprhension :
o Individu (numero : entier, nom : chaine, prenom : chaine, dateNaissance : date)
o degr de la relation : 4
en extension :
o Individu = { { 1, Dupont, Jacques, 15/01/1920 },
{ 2, Durand, Pierre, 20/07/1949}, { 3, Lambert, Paul, 03/12/1974 } }
AlgebreRelationnelle_support.docx
16/10/2012
Page 3
Algbre relationnelle
o cardinalit de la relation : 3
Ou bien sous forme tabulaire :
Individu
Numero
Nom
Prenom
DateNaissance
Dupont
Jacques
15/01/1920
Durand
Pierre
20/07/1949
Lambert
Paul
03/12/1974
CLEF PRIMAIRE (anglais : Primary Key): cest la clef qui assure lunicit dun tuple dune relation ; tous les
autres attributs dune relation sont en dpendance unique de la clef primaire ; la clef peut tre simple ou
composite ;
o on la reprsente souligne numP
CLE CANDIDATE : cest une colonne qui nest pas clef primaire, mais qui aurait pu ltre et dont on souhaite,
parfois, garantir lunicit des valeurs (un code INSEE, une adresse mail);
o On la reprsente : immatAv ;
CLEF ETRANGERE (anglais : Foreign Key): un attribut clef trangre dans une relation est clef primaire dans
une autre table ; elle matrialise un lien logique entre ces 2 relation ;
o on la reprsente gnralement prfixe dun # : #numAv
Exemples 1 :
Exemple 2 :
D. Lalgbre relationnelle
Lalgbre relationnelle correspond aux oprations quon applique des relations. Le rsultat produit par lapplication
dun oprateur de lalgbre relationnelle une relation est une nouvelle relation.
L'algbre relationnelle comporte deux familles d'oprateurs :
Les oprateurs unaires (mise en jeu dune seule relation) : PROJECTION et SELECTION
Les oprateurs ensemblistes (mise en jeu de 2 relations): UNION, DIFFERENCE et PRODUIT CARTESIEN
Ces 5 oprations forment un ensemble cohrent et minimal. Des extensions ces oprations de bases permettent
d'en amliorer l'efficacit travers une simplification de leur criture (INTERSECTION, JOINTURE,...) ou d'effectuer
des calculs (COMPTE, SOMME,).
Remarque : le symbolisme de reprsentation des oprateurs peut varier dun auteur lautre. Vous trouvez les
exemples de reprsentations courants.
Lalgbre relationnelle est un langage thorique dinterrogation des relations et forme la base des langages
dinterrogation de base de donnes relationnelle (SQL, par exemple).
AlgebreRelationnelle_support.docx
16/10/2012
Page 4
Algbre relationnelle
A. PROJECTION
La projection est une opration de RESTRICTION sur les
COLONNES.
La projection d'une relation R consiste en la mise en place
d'une nouvelle relation en ne retenant que certains attributs
et en supprimant les tuples dupliqus.
Notation :
T = xi,..,xn ( R )
ou
A
a
d
c
B
b
a
b
A
a
d
c
B
b
a
b
AlgebreRelationnelle_support.docx
C
c
f
d
T = PROJECTION(R, A, B)
CHOIX DUN SOUS-ENSEMBLE DE COLONNES DE
LA RELATION DE DEPART
16/10/2012
Page 5
Algbre relationnelle
B. SELECTION
La slection est une opration de RESTRICTION sur les
LIGNES.
La slection consiste extraire de la relation R considre
un sous-ensemble de tuples satisfaisant certains
critres.
On appelle ces critres qualification (en abrg Q).
T=Q(R)
ou
T = SELECTION (R , Q)
A
a
d
c
B
b
a
b
C
c
f
d
A
d
c
B
a
b
C
f
d
AlgebreRelationnelle_support.docx
16/10/2012
Page 6
Algbre relationnelle
C. Expressions algbriques
Afin de rpondre des demandes plus complexes, il est possible combiner les oprateurs pour former des
expressions permettant de rpondre toutes formes de questions.
Ainsi, pour obtenir, partir de la relation R, les colonnes A et B de lensemble des tuples pour lesquelles la valeur de
lattribut A est diffrente de a, nous pouvons crire :
R1 = SELECTION ( R , A<>a )
R1
Puis :
T = PROJECTION( R1 , A, B )
T
AlgebreRelationnelle_support.docx
16/10/2012
Page 7
Algbre relationnelle
Remarque : les doublons sont limins. (tuples pour lesquels les valeurs de tous les attributs ont la mme valeur)
B. UNION
Lunion de 2 relations R et S de mme schma est une
relation T de mme schma contenant lensemble des
tuples appartenant soit R, soit S, soit la fois R et S
Notations :
T = (R U S)
Ou
T=UNION(R, S)
AlgebreRelationnelle_support.docx
16/10/2012
Page 8
Algbre relationnelle
A
a
d
c
B
b
a
b
C
c
f
d
A
b
d
B
g
a
C
a
f
Les relations
sont unioncompatibles
A
a
d
c
B
b
a
b
C
c
f
d
A
b
d
B
g
a
C
a
f
A
a
d
c
b
B
b
a
b
g
Les doublons
sont
supprims
C
c
f
d
a
AlgebreRelationnelle_support.docx
Provient
de R
Provient
de S
16/10/2012
Page 9
Algbre relationnelle
C. DIFFERENCE
La diffrence entre 2 relations R et S de mme schma
dans l'ordre (R - S) est la relation T de mme schma
contenant les tuples appartenant R sauf ceux qui
appartiennent aussi S.
Notation :
T= (R - S)
Ou
T= MINUS(R,S)
T = DIFFERENCE(R, S)
Les relations
sont unioncompatibles
A
a
d
c
B
b
a
b
C
c
f
d
A
b
d
B
g
a
C
a
f
A
a
c
B
b
b
C
c
d
AlgebreRelationnelle_support.docx
Les tuples
prsents
dans S ne
sont pas
repris
Les tuples
de R qui
ne sont
pas dans S
16/10/2012
Page 10
Algbre relationnelle
D. PRODUIT CARTESIEN
Le produit cartsien de 2 relations R et S de schma
quelconque est une relation T ayant pour attributs les
attributs de R et de S, et dont les tuples sont constitus par
la combinaison de chaque tuple de R avec chacun des
tuples de S,.
Le produit cartsien permet la construction de toutes les
combinaisons possibles entre les tuples de 2 relations.
Notation :
T = (R X S)
ou
T=PRODUIT(R, S)
A
a
d
c
B
b
a
b
C
c
f
d
A
b
d
D
g
a
A
a
d
c
B
b
a
b
C
c
f
d
A
b
d
D
g
a
AlgebreRelationnelle_support.docx
16/10/2012
Page 11
Algbre relationnelle
R.A
a
a
d
d
c
c
R.B
b
b
a
a
b
b
R.C
c
c
f
f
d
d
Les tuples de R
AlgebreRelationnelle_support.docx
16/10/2012
S.A
b
d
b
d
b
d
S.D
g
a
g
a
g
a
Les tuples de S
Page 12
Algbre relationnelle
A. INTERSECTION
L'intersection de 2 relations R et S de mme schma
est une relation T de mme schma contenant les
tuples appartenant la fois R et S.
Notation :
T=(R
S)
ou
T = INTERSECT(R, S)
Lintersection peut tre construite partir des oprateurs de base :
(R
S) = R (R S) = S ( S R )
A
a
d
c
B
b
a
b
C
c
f
d
B
g
a
C
a
f
Les relations
sont unioncompatibles
A
b
d
A
a
d
c
B
b
a
b
C
c
f
d
A
b
d
B
g
a
C
a
f
Les tuples
prsents
dans R et
dans S sont
repris
A
d
AlgebreRelationnelle_support.docx
B
a
C
f
16/10/2012
Tuples
communs
R et S
Page 13
Algbre relationnelle
B. QUOTIENT ou DIVISION
Le quotient (ou division) : de la relation R de schma R
(A1, A2,An) par la sous-relation S de schma S (Ap+1,
An) est la relation T de schma T(A1, A2,Ap)
forme de tous les tuples qui, combins chaque
tuple de S, donnent toujours un tuple de R.
Notation :
T = ( R / S)
ou
T = DIVISION (R, S)
T = QUOTIENT (R, S)
Le quotient permet de rechercher l'ensemble de tous les sous-tuples d'une relation satisfaisant une sous-relation
dcrite par l'opration diviseur.
A
a
a
a
b
d
b
B
b
b
c
c
a
c
A
a
a
a
b
d
b
C
c
a
b
c
c
a
D
d
d
a
d
d
d
B
b
b
c
c
a
c
C
c
a
b
c
c
a
D
d
d
a
d
d
d
AlgebreRelationnelle_support.docx
A
a
b
16/10/2012
C
c
a
D
d
d
C
c
a
D
d
d
B
b
c
Page 14
Algbre relationnelle
A
a
b
A
a
a
a
b
d
b
B
b
c
B
b
b
c
c
a
c
C
c
a
b
c
c
a
D
d
d
a
d
d
d
C
c
a
D
d
d
AlgebreRelationnelle_support.docx
16/10/2012
Page 15
Algbre relationnelle
C. JOINTURES
Lopration de base de la jointure est le produit cartsien.
L'quijointure est une jointure ayant pour qualification l'galit entre 2 attributs;
La non-quijointure est une jointure ayant pour qualification un oprateur autre que l'galit entre 2
attributs
La jointure de 2 relations R et S selon une qualification
Q est l'ensemble des tuples du produit cartsien R X S
satisfaisant la qualification Q. (voir loprateur
Selection).
La jointure exige que les 2 relations aient un domaine
en commun.
La jointure est quivalente lapplication dune
slection un produit cartsien.
Notation :
T = (R Q)S
ou
T = JOINTURE(R, S , Q)
A
a
d
c
B
b
a
b
C
c
f
d
A
b
d
D
g
a
AlgebreRelationnelle_support.docx
16/10/2012
Page 16
Algbre relationnelle
R X S R.A
a
a
d
d
c
c
R.B
b
b
a
a
b
b
R.C
c
c
f
f
d
d
S.A
b
d
b
d
b
d
R.A
a
c
R.B
b
b
R.C
c
d
S.D
g
a
g
a
g
a
S.A
b
b
Q
R.B = S.A
S.D
g
g
2. Jointure naturelle
La jointure naturelle (NATURAL JOIN) est une jointure de R et S sur tous les attributs de mme nom, suivi de la
projection qui permet de supprimer les attributs rpts.
Attention :
A
a
d
c
B
b
a
b
C
c
f
d
A
b
d
D
g
a
AlgebreRelationnelle_support.docx
16/10/2012
Page 17
Algbre relationnelle
R X S R.A
a
a
d
d
c
c
T
A
d
R.B
b
b
a
a
b
b
R.C
c
c
f
f
d
d
S.A
b
d
b
d
b
d
S.D
g
a
g
a
g
a
B
a
C
f
S.A
d
D
a
3. La jointure externe
La jointure externe (OUTER JOIN) est une jointure de R et S qui conserve tous les tuples, de lune ou lautre des
relations et les tuples issus de la jointure des 2 relations :
La jointure de R et S conserve tous les tuples :
de R pour une jointure externe gauche, (LEFT OUTER JOIN)
et de S pour une jointure externe droite (RIGHT OUTER JOIN)
ou des 2 relations pour une jointure totale (FULL OUTER JOIN).
Les valeurs des tuples ne satisfaisant pas la qualification ont pour valeur NULL.
A
a
d
c
B
b
a
b
C
c
f
d
A
b
d
D
g
a
16/10/2012
Page 18
Algbre relationnelle
R X S R.A
a
a
d
d
c
c
R.A
a
d
c
R.B
b
b
a
a
b
b
R.C
c
c
f
f
d
d
R.B
b
a
b
S.A
b
d
b
d
b
d
S.D
g
a
g
a
g
a
Q
R.A = S.A
Tuple joint
4. Cas particuliers
L'autojointure est un cas de jointure d'une relation avec elle-mme. Cela se passe comme si on avait 2 copies
diffrentes d'une mme relation. Les noms des attributs sont prfixs du nom de relation afin d'viter toute
ambigut.
La semijointure est un cas de jointure ne conservant que les attributs dune des relations .
AlgebreRelationnelle_support.docx
16/10/2012
Page 19
Algbre relationnelle
A. Colonnes calcules
Certaines colonnes peuvent provenir dun rsultat de calcul. La mise en place de ces calculs peut tre effectue dans
le cadre des projections.
On dfinit ici une nouvelle relation R pour laquelle les attributs B et C sont numriques (condition pour effectuer
des calculs).
R
10
15
BparC
MoitieC
2*10
10/2
3*15
15/2
5*5
5/2
BparC
MoitieC
20
45
7,5
25
2,5
AlgebreRelationnelle_support.docx
T = PROJECTION (R , A, B,
MoitieC=C/2 )
16/10/2012
BparC=B*C,
Page 20
Algbre relationnelle
B. COMPTE
Compte est une opration courante qui permet de
DENOMBRER LES LIGNES d'une relation qui ont une mme
valeur d'attribut en commun.
Countx1,,xn
T = compte x1, , xn ( R )
ou
T = COMPTE (R , x1,,xn)
Si aucun attribut de regroupement n'est prcis, l'opration renvoie alors le nombre de tupes de R. La relation T ne
comporte alors quun seul tuple avec une seule colonne.
A
a
d
c
B
b
a
b
C
c
f
d
CompteR
3
B
b
a
CompteR
2
1
AlgebreRelationnelle_support.docx
Exemple 1 : T
= COMPTE (R )
= COMPTE (R , B )
16/10/2012
Page 21
Algbre relationnelle
C. SOMME
Somme est une opration qui permet de faire la
SOMME CUMULEE des valeurs d'un attribut Y
pour chacune des valeurs diffrentes de attributs
de regroupement x1, xn.
Y doit tre numrique.
La relation rsultante ne contient que les
diffrentes valeurs des attributs Xi de
regroupement choisis ainsi que la somme
cumule des Y correspondants.
Notation :
T = somme x1,,xn ( R, Y)
ou
T = SOMME (R, Y , x1,...,xn)
Si aucun attribut de regroupement n'est prcis, l'opration renvoie alors la somme de toutes des valeurs de la
colonne Y. La relation T ne comporte alors quun seul tuple avec une seule colonne.
Cette opration se gnralise facilement d'autres oprations : MOYENNE, MINIMUM, MAXIMUM.
On dfinit ici une nouvelle relation R pour laquelle lattribut C est numrique.
A
a
d
c
B
b
a
b
C
10
15
5
SommeC
30
B
b
a
SommeC
15
15
AlgebreRelationnelle_support.docx
Exemple 1 : T
= SOMME (R , C )
= SOMME (R , C, B )
16/10/2012
Page 22
Algbre relationnelle
A. Quelques exemples
Exemple pour 3 relations :
Ou bien :
PROJECTION ( SELECTION ( Fournisseurs / nom= dupont ) ,
fno )
AlgebreRelationnelle_support.docx
16/10/2012
Page 23
Algbre relationnelle
Dterminer les numros de fournisseurs qui ont moins de 3 commandes
Ou bien :
PROJECTION ( SELECTION ( COMPTE ( Commandes , fno ) ,
compte < 3 ) , fno )
B. Plusieurs solutions
Il existe en gnral plusieurs requtes algbriques diffrentes qui fournissent une solution une question donne. Si
la relation obtenue est identique avec ces diffrentes requtes, l'efficacit est rarement la mme (par exemple,
l'opration de jointure est en gnral coteuse ; la table temporaire la plus volumineuse pour effectuer cette requte
est engendre par le produit cartsien des 2 tables).
Des calculs utilisant la cardinalit dune relation ainsi que le nombre et la taille (moyenne) de ses attributs permet de
choisir les requtes la moins couteuse.
AlgebreRelationnelle_support.docx
16/10/2012
Page 24
Algbre relationnelle
AlgebreRelationnelle_support.docx
16/10/2012
Page 25
Algbre relationnelle
Propositions de rponses :
AlgebreRelationnelle_support.docx
16/10/2012
Page 26
Algbre relationnelle
VIII. Bibliographie
Bases de donnes et systmes d'information - le modle relationnel : langages, systmes et mthodes Hacer Boudjlida - Dunod - 1999 - isbn 2 10 004309 9
des bases de donnes l'internet - Philippe Mathieu - Vuibert Informatique - 2000 - isbn 2-7117-8669-2
SQL2 de la thorie lapplication Pierre Delmal bibliothque des universits 1995 isbn 2 8041 2179
8
AlgebreRelationnelle_support.docx
16/10/2012
Page 27