Vous êtes sur la page 1sur 32

Cours de Base de Donnees

Cours n.3
`
Algebre relationnelle
Ce cours reprend beaucoup de transparents du cours
de Philippe LAHIRE

Elisabetta De Maria - edemaria@i3s.unice.fr

UFR Sciences et Laboratoire I3S, CNRS

2013-2014
Universite de Nice Sophia-Antipolis
`
Algebre relationnelle

Langage procedural
: il permet dindiquer a` un SGBD

comment il doit edifier une nouvelle relation a` partir dune
ou plusierurs relations existantes dans la base de donnees
Langage theorique,

avec des operations qui travaillent sur

une (ou plusieurs) relation(s) pour definir une autre relation
sans changer la (ou les) relation(s) originale(s)
le resultat

de toute operation
algebrique est une relation
e de fermeture)
(propriet

Les operations `
de lalgebre relationnelle

Les cinq operations fondamentales

selection

projection
produit cartesien

union
difference


Autres operations

jointure
intersection
division
...

Operateurs
algebriques

Operateurs ensemblistes

union
intersection
difference
produit


Operateurs
relationnels specifiques

selection

projection
jointure
division
Table dexemple

CLIENT(numero,
ephone)
nom, adresse, tel
PRODUIT (ref
erence,
marque, prix)
VENTE(numero,
ref produit#, no client#, date)

Operations unaires


Considerons
R et S deux relations definies respectivement sur
les attributs A = (a1 , a2 , ..., aN ) et B = (b1 , b2 , ..., bM ).


Selection : predicat (R)

Loperation
selection
travaille sur une relation simple R et definit
une relation qui ne contient que les tuples de R qui satisfont a`

la condition (ou predicat) ee.
specifi

Projection : a1 ,...,an (R)



Loperation projection travaille sur une seule relation R et definit
une relation qui contient un sous-ensemble vertical de R, en
es
extrayant les valeurs des attributs specifi et en supprimant
les doublons.

Operations sur des ensembles (1)

Union : R S

Lunion de deux relations R et S definit une relation qui contient
tous les tuples de R, de S ou a` la fois de R et S, les tuples en

double etant
elimin
es.


Difference densembles : R S

La difference
densemble definit une relation qui comporte les
tuples qui existent dans la relation R et non dans la relation S.

Intersection : R S

Lintersection definit de lensemble de
une relation constituee

tous les tuples presents a` la fois dans R et dans S.

Relations compatibles envers lunion



Operations sur des ensembles (2)


Produit cartesien : RS

Le produit cartesien
definit de la
une relation constituee
concatenation de tous les tuples de la relation R avec tous
ceux de la relation S
Relations de schemas quelconques

Operations de jointure

(-join) : R ./F S
Jointure theta
definit
La jointure theta une relation qui contient des tuples

satisfaisant au predicat F du produit cartesien de R et S. Le

predicat
F est de la forme R.ai S.bj ou` peut etre lun des

operateurs de comparaison (<,,>,,=,6=).


Dans le cas ou` le predicat
F ne contient que legalit e (=), on

utilise le terme d equijointure
ou dequi-jointure.
Jointure naturelle : R ./ S

La jointure naturelle est une equijointure des deux relations R
et S sur tous les attributs communs x. Une occurrence de

chaque attribut commun est elimin du resultat.
ee

Operation de division


Supposons que la relation R soit definie sur lensemble

dattributs A et que la relation S soit definie sur lensemble
dattributs B, de telle sorte que B A. Soit C = A B.
Division R S

La division definit de
une relation sur les attributs C, constutuee
lensemble des tuples de R qui correspondent a` la combinaison
de tous les tuples de S.

T1 = C (R)
T2 = C ((S T1 ) R)
T = T1 T2
Autres jointures
Jointure externe (gauche) entre R et S
La jointure externe gauche est une jointure dans laquelle les

tuples de la relation R qui nont pas necessairement de valeur
correspondente dans S parmi les attributs communs de R et S,

sont egalement
inclus dans la relation resultante. Les valeurs
manquantes dans la seconde relation sont mises a` nul.

Jointure externe droite : le resultat


conserve tous les
tuples de la relation de droite
Jointure externe complete : le resultat
reprend tous les
tuples de deux relations et remplit de nuls les attributs
absents pour tous les cas de non-correspondence

Semi-jointure entre R et S

La semi-jointure definit une relation qui contient les tuples de R
qui participent a` la jointure de R avec S.

Fonctions des operateurs