You are on page 1of 15

IV.

Algbre relationnelle
Ensemble doprations relation + condition -> relation relation + ens. dattributs -> relation relation + relation -> relation Attention (on y revient la n) les relations sont en fait des multi-ensembles de n-uplets A B Pourquoi? a b les doublons apparaissent naturellement dans y z une requte b b (ex: liste des cours daprs la relation a b a y suivi(cours, tudiant) les liminer = ordonner -> long: n log n ou n2

slection (not ), projection (), changement de nom () produit cartsien (not ) Pas dattribut commun jointure () union () intersection () dirence (),

Mmes attributs

Oprations ensemblistes
Soit R un schma de relation {A1, ... , Ak} Soit r, s des relations de schma R - union : r s ={t| tr ou ts} - intersection : r s ={t| tr et ts} - dirence : rs = ={t| tr et ts} Exemple r=
A a y b B b z b

s=

A u y

B v z

Exercice : Pourquoi na-t-on pas dni lopration de complment ?

Slection
Soit R un schma de relation {A1, ... , Ak} Soit p un prdicat sur les tuples de R Exemple : A1=3 A2 > A1 (A3 = 4) Soit r une relation de schma R La slection [p](r) est une relation de schma R constitu des tuples de r qui satisfont le prdicat p.

xemple : Petit Pays = [surface < 100](Pays) Pays


nom Autriche UK Suisse capitale Vienne Londres Berne population 8 56 7 surface 83 244 41

Projection
Soit R un schma de relation {A1, ... , Ak} Soit S R Soit r une relation de schma R La projection [S](r) est une relation de schma S obtenu partir de r en liminant les attributs de R qui ne sont pas dans S. Exemple : On ne veut garder que les attributs nom et capital Pays
nom Autriche UK Suisse capitale Vienne Londres Berne population 8 56 7 surface 83 244 41

Exercice : Calculer les capitales des petits pays.

Changement de nom
Soit R un schma de relation Soit A un attribut de R et B un attribut : Dom(B) = Dom(A) Soit r une relation de schma R Le changement de nom [A:B](r) est une relation de schma R\{A}{B} obtenu partir de r en remplaant lattribut A par B. Exemple r=
A a y b B b z b

[B:C](r) =

A a y b

C b z b

Produit cartsien
Soit R, S deux schmas de relations disjoints Soit r une relation de schma R et s une relation de schma S Le produit cartsien rs est une relation de schma RS obtenue en combinant les tuples de r et de s de toutes les manires possibles. Exemple r=
A a y b B b c b

s= C D E
c b v z y u

rs = ?

Jointure (naturelle)
Soit R, S des schmas de relations Soit r une relation de schma R et s une relation de schma S La jointure rs est une relation de schma RS obtenue en combinant les tuples de r et de s ayant les mmes valeurs dattributs sur RS, de toutes les manires possible. Exemple r= A B s= B D E rs = ?
a y b b c b c b v z y u

Questions : Un produit cartsien est-il une jointure? Une jointure est elle un produit cartsien.

Jointure conditionnelle (thta-jointure)


Soit R, S des schmas de relations Soit r une relation de schma R et s une relation de schma S Soit p un prdicat (lmentaire) sur les tuples de RS La jointure conditionnelle r[p]s est [p] (rs) Exemple r=
A a y b B b c b

s= C D E
c b v z y u

r[B C]s = ?

Quotient (division)
Soit R, S des schmas de relations tel que SR Soit r une relation de schma R et s une relation de schma S Le quotient rs est une relation de schma R\S constitue des tuples t de [R\S](r) tel que t S, t.t R. Exemple r=
A a a g i B b b h j C c e c k D d f d l

s=

C c e

D d f

rs = ?

Exercice : Soit la table Rsultat(tudiant, cours, russi/rat). Dterminer la liste des tudiants ayant russi tous les cours.

Exemples de requtes
Soit les relations : Journal(code_j, titre, prix, type, priodicit) Dpot(no-dpot, nom-dpot, adresse) Livraison(no-dpot, code-j, date-liv, quantit-livre) Requtes : (1) Quel est le prix des journaux ? (2) Donnez tous les renseignements connus sur les journaux hebdomadaires ? (3) Donner les codes des journaux livrs Bordeaux. (4) Donner les numros des dpts qui reoivent plusieurs journaux (5) Donner les titres des journaux livrs sur tous les dpts.

Multi-ensembles
Soit t un tuple gurant R fois dans r et S fois dans s union : t gure R+S fois dans r s intersection : t gure inf(R,S) fois dans r s dirence : t gure max(R-S,0) dans rs Produit: (t,u) gure R*S fois dans rxs (R et S nont pas forcment les mmes attributs)

Contraintes en algbre relationnelle

Voir note ou transparents part.

Jeu minimal de connecteurs


Renommage Dirence Union ou Intersection Slection Projection Jointure ou Produit Si multi-ensembles: ajouter pour pouvoir supprimer les doublons

Optimisation des formules de lalgbre relationnelle

Voir note ou transparents part.

You might also like