Vous êtes sur la page 1sur 37

Cours : Base de donnes

Algbre relationnel
Dr. Lassaad BAATI

Algbre relationnelle

Propose par E. Codd, 1969 Utilise en gnral l'intrieur de tout SGBD relationnel Un LMD algbrique est possible, mais en gnral peu commode On prfre les requtes SQL, QUEL, QBE...
celles-ci sont traduites en expressions algbriques + procedurales donc + faciles optimiser par des transformations syntaxiques

Introduction

Lalgbre relationnelle est un support mathmatique cohrent sur lequel repose le modle relationnel. Lobjet de cette section est daborder lalgbre relationnelle dans le but de dcrire les oprations quil est possible dappliquer sur des relations pour produire de nouvelles relations. Lapproche suivie est donc plus oprationnelle que mathmatique. On peut distinguer trois familles doprateurs relationnels :

Les oprateurs unaires (Slection, Projection) : ce sont les oprateurs les plus simples, ils permettent de produire une nouvelle table partir dune autre table. Les oprateurs binaires ensemblistes (Union, Intersection Diffrence) : ces oprateurs permettent de produire une nouvelle relation partir de deux relations de mme degr et de mme domaine. Les oprateurs binaires ou n-aires (Produit cartsien, Jointure, Division) : ils permettent de produire une nouvelle table partir de deux ou plusieurs autres tables.

Algbre relationnelle

Chaque opration dalgbre relationnelle prend une/plusieurs tables et les transforme afin de produire une nouvelle table 3 oprations principales

Slection Projection Jointure Union Intersection Diffrence

3 oprations secondaires

Algbre relationnelle

Oprations de base:

Slection ( )

Slectionne un sous-ensemble des lignes dune relation. Efface des colonnes dune relation [et limine les doubles]. Permet de combiner deux relations. Elimine les tuples de R1 contenus dans R2 Constitue une relation R avec les tuples de R1 et ceux de R2

Projection ( )

Produit Cartsien ( X )

Diffrence ( - )

Union ( )

Algbre relationnelle

Oprations additionnelles:

Jointure ( ||)

Combinaison de produit cartsien et slection sur colonne comparables (=, <, >, ...) Constitue une relation R avec les tuples appartenant la fois R1 et R2

Intersection

Chaque opration retournant une relation, les oprations peuvent tre composes!

Lalgbre est ferme.

Selection

La slection (parfois appele restriction) gnre une relation regroupant exclusivement toutes les occurrences de la relation R qui satisfont lexpression logique E, on la note (E) R.
Il sagit dune opration unaire essentielle dont la signature est :

relation expression logique relation

En dautres termes, la slection permet de choisir (i.e. slectionner) des lignes dans le tableau. Le rsultat de la slection est donc une nouvelle relation qui a les mmes attributs que R. Si R est vide (i.e. ne contient aucune occurrence), la relation qui rsulte de la slection est vide.

Exemple de relation Personne

Exemple de slection sur la relation Personne : (Numro 5)Personne

Projection

autres que A1, An dune relation et liminer les n-uplets en double apparaissant dans la nouvelle relation ; on la note (A1, An)R.
Il sagit dune opration unaire essentielle dont la signature est : relation liste dattributs relation En dautres termes, la projection permet de choisir des colonnes dans le tableau. Si R est vide, la relation qui rsulte de la projection est vide, mais pas forcment quivalente (elle contient gnralement moins dattributs).

Dfinition La projection consiste supprimer les attributs

Projection

Exemple de projection sur la relation Personne : (Nom)Personne

Union

Il sagit une opration binaire ensembliste commutative essentielle dont la signature est : relation relation relation Comme nous lavons dj dit, R1 et R2 doivent avoir les mmes attributs et si une mme occurrence existe dans R1 et R2, elle napparat quune seule fois dans le rsultat de lunion. Le rsultat de lunion est une nouvelle relation qui a les mmes attributs que R1 et R2. Si R1 et R2 sont vides, la relation qui rsulte de lunion est vide. Si R1 (respectivement R2) est vide, la relation qui rsulte de lunion est identique R2 (respectivement R1).

ayant le mme schma et construisant une troisime relation constitue des n-uplets appartenant chacune des deux relations R1 et R2 sans doublon, on la note R1 R2.

Dfinition Lunion est une opration portant sur deux relations R1 et R2

Union

Exemple dunion : R = R1 R2

Intersection

Dfinition Lintersection est une opration portant sur deux

relations R1 et R2 ayant le mme schma et construisant une troisime relation dont les n-uplets sont constitus de ceux appartenant aux deux relations, on la note R1 R2.

Il sagit une opration binaire ensembliste commutative dont la signature est : relation relation relation Comme nous lavons dj dit, R1 et R2 doivent avoir les mmes attributs. Le rsultat de lintersection est une nouvelle relation qui a les mmes attributs que R1 et R2. Si R1 ou R2 ou les deux sont vides, la relation qui rsulte de lintersection est vide.

Intersection

Exemple dintersection : R = R1 R2

Diffrence

et R2 ayant le mme schma et construisant une troisime relation dont les n-uplets sont constitus de ceux ne se trouvant que dans la relation R1 ; on la note R1 R2.

Dfinition La diffrence est une opration portant sur deux relations R1

Il sagit une opration binaire ensembliste non commutative essentielle dont la signature est : relation relation relation Comme nous lavons dj dit, R1 et R2 doivent avoir les mmes attributs. Le rsultat de la diffrence est une nouvelle relation qui a les mmes attributs que R1 et R2. Si R1 est vide, la relation qui rsulte de la diffrence est vide. Si R2 est vide, la relation qui rsulte de la diffrence est identique R1.

Diffrence

Exemple de diffrence : R = R1 R2

Produit cartsien

relations R1 et R2 et qui construit une troisime relation regroupant exclusivement toutes les possibilits de combinaison des occurrences des relations R1 et R2, on la note R1 R2.
Il sagit dune opration binaire commutative essentielle dont la signature est : relation relation relation Le rsultat du produit cartsien est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2. Si R1 ou R2 ou les deux sont vides, la relation qui rsulte du produit cartsien est vide. Le nombre doccurrences de la relation qui rsulte du produit cartsien est le nombre doccurrences de R1 multipli par le nombre doccurrences de R2.

Dfinition Le produit cartsien est une opration portant sur deux

Produit cartsien

Exemple de produit cartsien : R = Amie Cadeau

Jointure

Cest une opration binaire commutative dont la signature est : relation relation ex pression logique relation Si R1 ou R2 ou les deux sont vides, la relation qui rsulte de la jointure est vide. En fait, la jointure nest rien dautre quun produit cartsien suivi dune slection : R 1 E R 2 = E (R 1 R 2)

relations R1 et R2 qui construit une troisime relation regroupant exclusivement toutes les possibilits de combinaison des occurrences des relations R1 et R2 qui satisfont lexpression logique E. La jointure est note R1 E R2.

Dfinition La jointure est une opration portant sur deux

Jointure
Exemple de jointure : R = Famille ((Age AgeC) (Prix < 50)) Cadeau

Theta jointure

laquelle lexpression logique E est une simple comparaison entre un attribut A1 de la relation R1 et un attribut A2 de la relation R2. La theta-jointure est note R1 E R2.

Theta-jointure Dfinition- Une theta-jointure est une jointure dans

Equi-jointure

Dfinition Une equi-jointure est une theta-jointure

dans laquelle lexpression logique E est un test dgalit entre un attribut A1 de la relation R1 et un attribut A2 de la relation R2. Lequi-jointure est note R 1 A1,A2 R 2

Remarque : Il vaut mieux crire R 1 A 1=A 2 R 2 que R 1 A 1,A 2 R 2 car cette dernire notation peut prter confusion avec une jointure naturelle explicite.

Jointure naturelle

Cest une jointure dans laquelle lexpression logique E est un test dgalit entre les attributs qui portent le mme nom dans les relations R1 et R2. Dans la relation construite, ces attributs ne sont pas dupliqus mais fusionns en une seul colonne par couple dattributs. Elle est note R 1 R 2 . On peut prciser explicitement les attributs communs R1 et R2 sur lesquels porte la jointure : R 1 A1, , An R 2 .
Gnralement, R1 et R2 nont quun attribut en commun. Dans ce cas, une jointure naturelle est quivalente une equi-jointure dans laquelle lattribut de R1 et celui de R2 sont justement les deux attributs qui portent le mme nom. Lorsque lon dsire effectuer une jointure naturelle entre R1 et R2 sur un attribut A1 commun R1 et R2, il vaut mieux crire R 1 A 1 R 2 que R1 R2. En effet, si R1 et R2 possdent deux attributs portant un nom commun, A1 et A2, R1 A1 R2 est bien une jointure naturelle sur lattribut A1, mais R1 R2 est une jointure naturelle sur le couple dattributs A1, A2, ce qui produit un rsultat trs diffrent !

Jointure naturelle

Exemple de jointure naturelle : R = Famille Cadeau ou R = Famille Age Cadeau

Division

Cest une opration portant sur deux relations R1 et R2, telles que le schma de R2 est strictement inclus dans celui de R1, qui gnre une troisime relation regroupant toutes les parties doccurrences de la relation R1 qui sont associes toutes les occurrences de la relation R2 ; on la note R1 R2.
Il sagit dune opration binaire non commutative dont la signature est : relation relation relation La division de R1 par R2 (R1 R2) gnre une relation qui regroupe tous les nuplets qui, concatns chacun des n-uplets de R2, donne toujours un n-uplet de R1. La relation R2 ne peut pas tre vide. Tous les attributs de R2 doivent tre prsents dans R1 et R1 doit possder au moins un attribut de plus que R2 (inclusion stricte). Le rsultat de la division est une nouvelle relation qui a tous les attributs de R1 sans aucun de ceux de R2. Si R1 est vide, la relation qui rsulte de la division est vide.

Division
Exemple de division : R = Enseignem ent Etudiant La relation R contient donc tous les enseignants de la relation Enseignement qui enseignent tous les tudiants de la relation Etudiant.

Oprateurs ensemblistes
UNION INTERSECT DIFFERENCE PRODUCT

a b c

x y

a a b b c c

x y x y x y

Oprateurs relationnels

Jointure (naturelle)

a1 b1 a2 b1 a3 b2

c1 b1 c2 b1 c3 b2

a1 b1 c1 a1 b1 c2 a2 b1 c1 a2 b1 c2 a3 b2 c3 a

Division

ax ay az bx cy

x y

Oprateurs relationnels

Restriction

Projection

Projection

sname yuppy lubber guppy rusty

rating 9 8 5 10

Supprime les attributs qui ne sont pas dans la liste de projection. Loprateur de projection sert liminer les doublons.

sname,rating(S2)
age 35.0 55.5

age(S2)

Oprateur renommer

Exemples

Exemple Slection et Produit cartsien