Vous êtes sur la page 1sur 10

Programme informatique S4 (2eme anne cycle prparatoire)

Intitul du cours : Informatique 4 / Sigle du cours : INF4


Chapitre II : LAlgbre Relationnelle

Contenu
I. Introduction : ........................................................................................................................................................2
1. Quest-ce quune algbre ?...............................................................................................................................2
2. Algbre Relationnelle .......................................................................................................................................2
II. Oprations ensemblistes ......................................................................................................................................2
1. Union ................................................................................................................................................................2
2. Intersection.......................................................................................................................................................3
3. Diffrence .........................................................................................................................................................3
4. Produit cartsien ..............................................................................................................................................3
5. Division .............................................................................................................................................................4
III. Oprations spcifiques .....................................................................................................................................4
1. Projection () ...................................................................................................................................................4
2. Slection / Restriction ().................................................................................................................................5
3. Jointure .............................................................................................................................................................5
i. Thta Jointure ...............................................................................................................................................5
ii. Jointure Naturelle .........................................................................................................................................5
iii. Jointure externe............................................................................................................................................6
iv. Semi-jointure ................................................................................................................................................6
4. Fonctions et agrgats .......................................................................................................................................7
i. Fonction de calcul .........................................................................................................................................7
ii. Les agrgats ..................................................................................................................................................7
iii. Oprateurs de groupement ().....................................................................................................................7
5. Opration particuliers :.....................................................................................................................................8
i. Opration de renommage ............................................................................................................................8
ii. LAffectation .................................................................................................................................................8
iii. La Valeur Null................................................................................................................................................8
IV. Modification de la base de donnes ................................................................................................................9
1. Suppression ......................................................................................................................................................9
2. Insertion............................................................................................................................................................9
3. Modification .....................................................................................................................................................9
V. Le langage Algbrique ..........................................................................................................................................9
1. Comment construire une requte algbrique ? .............................................................................................10

Chapitre II : LAlgbre Relationnelle Page 1


2. Arbre algbrique .............................................................................................................................................10

I. Introduction :
L'algbre relationnelle a t invente par E. Codd en 1970 dont le but de formaliser les oprations sur les
ensembles. Elle constitue une collection doprations formelles qui agissent sur des relations et produisent
des relations. Ces oprations sont regroupes, selon leurs caractristiques, en plusieurs familles.

1. Quest-ce quune algbre ?

2. Algbre Relationnelle

II. Oprations ensemblistes


1. Union
L'union est une opration sur deux relations de mme schma R1 et R2 qui sert construire une
troisime relation R3 de mme schma ayant comme tuples ceux appartenant R1, R2 ou aux
deux. Les tuples qui apparaissent plusieurs fois dans le rsultat ne sont reprsents qu'une seule
fois (pas de doublons)
Notations: R1 U R2 UNION (R1,R2) APPEND(R1,R2)

Chapitre II : LAlgbre Relationnelle Page 2


2. Intersection
L'intersection de deux relation R1 et R2 de mme schma est une relation R3 de mme schma
dont les tuples sont ceux appartenant la fois R1 et R2
Notation: R1 R2 INTERSECT (R1, R2) AND (R1, R2)

3. Diffrence
La diffrence est une opration sur deux relations de mme schma R1 et R2 qui sert construire
une troisime relation R3 de mme schma ayant comme tuples ceux appartenant R1 et
n'appartenant pas R2.
Notation: R1 - R2

4. Produit cartsien
Le produit cartsien de deux relations R1 et R2 de schma quelconque est une relation R3 ayant
pour attributs la concatnation des attributs de R1 et de R2 et dont les tuples sont constitus de
toutes les concatnations d'un tuple de R1 un tuple de R2
Notations: R1 X R2

Chapitre II : LAlgbre Relationnelle Page 3


5. Division
La division de la relation R (A1, A2,..., An) par la sous-relation R2 (Ap+1,...,An) est la relation
R3 (A1, A2,..., Ap) formes de tous les tuples qui concatns chaque tuple de R2 donnent
toujours un tuples de R1
Notation : R1 / R2 DIVISION (R1, R2)
Les attributs du rsultat d'une division sont ceux faisant partie de la premire relation et ne sont
pas dans la seconde pour que le produit cartsien du rsultat avec la deuxime donnent tous les
attributs de la premire relation. Pour effectuer une division entre R1 et R2 il faut que tous les
attributs de R2 font partie de R1 et que R1 possde au moins un attribut en plus que R2.

III. Oprations spcifiques


1. Projection ()
La projection d'une relation R(A1,A2,...,An) sur les attributs Ai,Ai+1,...,Ap (avec p<n) est une
relation R2 de schma Ai,Ai+1,...,Ap et dont les tuples sont obtenus par limination des attributs
de R n'appartenant pas R2 et par suppression des doublons.

Notations :1 , 2 , ()

Chapitre II : LAlgbre Relationnelle Page 4


2. Slection / Restriction ()
La restriction (ou slection) de la relation R par une condition C est une relation R2 de mme
schma dont les tuples sont ceux de R satisfaisant la condition C. La condition est de la forme
<Attribut> Oprateur <Valeur>. Les oprateurs sont {=, <, >, <=, >=, <>}

Notations: ()

3. Jointure
i. Thta Jointure
Le thta - jointure de deux relations R1 et R2 de schma quelconque selon une condition C est
une relation R3 dont le schma est la concatnation des attributs des deux relations et les tuples
sont ceux du produit cartsien entre R1 et R2 respectant la condition C.
La condition C est de la forme <Attribut> oprateur <Attribut>
Les oprateurs peuvent tre arithmtiques (=, >, <, >=, <=, <>) ou logique (, , Non)
Si l'oprateur est = Alors cest une Equijointure Sinon cest une In-quijointure
Notations: JOIN (R1, R2, Condition)

ii. Jointure Naturelle


La jointure naturelle de deux relations R1 et R2 de schma quelconque donne une troisime
relation R3 dont le schma est obtenu avec concatnation des attributs de R1 et ceux de R2 mais
en ne prenants les attributs de mme nom qu'une seule fois. Les tuples de R3 sont ceux de R1 et
de R2 respectant une quijointure entre les attributs de mme nom.

Une jointure naturelle entre deux relations R1 et R2 n'ayant aucun attribut en commun (de mme
nom) est le produit cartsien de R1 et de R2

Notations: JOIN (R1, R2)


Chapitre II : LAlgbre Relationnelle Page 5
iii. Jointure externe
La jointure externe entre deux relations R1 et R2 de schma quelconque est une relation R3 dont
le schma est la concatnation des attributs de R1 et de ceux de R2 en ne reprsentant les attributs
ayant le mme nom qu'une seule fois. Les tuples de R3 sont ceux obtenus avec une jointure
naturelle entre R1 et R2 et ceux de R1 et de R2 ne participants pas la jointure en reprsentant par
des valeurs nulles ceux de l'autre relation.
On distingue deux autres variantes de la jointure externe, la jointure externe droite et la jointure
externe gauche notes respectivement REXT-JOIN et LEXT-JOIN. La premire donne tous les
attributs de la relation droite de la jointure externe et uniquement ceux de la relation gauche qui
participent la jointure. La seconde c'est l'inverse.

Notation : EXT-JOIN (R1, R2) / REXT-JOIN (R1, R2) / LEXT-JOIN (R1, R2)

iv. Semi-jointure
La semi-jointure deux relations R1 et R2 de schma quelconque est une relation R3 dont le
schma est celui de R1 et les tuples sont ceux de R1 appartenant la jointure naturelle entre R1 et
R2.
Notation : SEMI-JOIN (R1, R2)

Chapitre II : LAlgbre Relationnelle Page 6


4. Fonctions et agrgats
i. Fonction de calcul
On peut remplacer les attributs par des expressions dattributs. Une fonction de calcul est une
expression arithmtique construite partir dattributs dune relation et de constantes, par
application de fonctions arithmtique successives.
Exemple
- R1 = JOIN (VESTE, PORTE, TAILLE*DUREE > DUREE / 3)
- R2 = RESTRICT (R1, DUREE*100/TAILLE>38)
- RESULT=PROJECT (R2, NOM, TAILLE-TAILLE*DUREE/100)
ii. Les agrgats
Les agrgats sont utiliss pour effectuer des oprations de calcul sur des colonnes. Les fonctions
dagrgation permettent de rpondre aux requtes du type
- "Quel est le nombre dtudiants inscrits dans chaque dpartement"
- "Quel est lge moyen des tudiants"
Les fonctions les plus proposes sont :
Somme (SUM), Moyenne (AVG), Minimum (MIN), Maximum (Max), Compte (Count)
Exemple :
VESTE (NV, MARQUE, COULEUR,TAILLE)

- Rsultat = Agregat (Veste, Marque, AVG(Taille))


- Rsultat=AVGMarque(Veste, Taille)

iii. Oprateurs de groupement ()


Premier cas : considrons une relation R et une liste dattributs L.
L(R) reprsente lensemble de tuples construits comme suit :
Regrouper dabord les tuples de R en un ensemble de groupes, chaque groupe ayant
une seule combinaison de valeurs pour les attributs dans L.
Pour chaque lment de lensemble de groupes, produire un seul tuple dans le rsultat.
Exemple:

Chapitre II : LAlgbre Relationnelle Page 7


2e cas : considrons une relation R, une liste dattributs L et un oprateur agrg op.
, () se construit comme suit :
Regrouper dabord les tuples de R en un ensemble de groupes, chaque groupe ayant
une seule combinaison de valeurs pour les attributs dans L.
A lintrieur de chaque groupe, appliquer loprateur dagrgation op, et produire,
avec les rsultats, une nouvelle colonne contenant le rsultat.
Enfin, produire un tuple pour chaque combinaison de valeurs prsente pour les attributs
dans la liste L plus NvAttr .
Exemple : Pour () () et la relation ci-dessous :
,() () A SB
1 5
2 2
Noter que llimination des duplicates est une opration drive de lopration de
groupement.

5. Opration particuliers :
i. Opration de renommage
Il sagit simplement de renommer la relation et/ou un (ou plusieurs) attribut(s) dune relation.
Pourquoi renommer?
1. Le rsultat dune expression algbrique ne possde pas de nom;
2. On a besoin de renommer certains attributs dune relation ou dune expression algbrique.
- () : Renommer NA par num
- (= ()) : Renommer le rsultat de la slection par ActeurAli
Avec : Acteur (NA, NOM, PRENOM, ADRESSE, SEXE)
ii. LAffectation
Le mme principe quune affectation dans lalgorithmique.
Cest le fait dattribuer le rsultat dune expression 1 =32 ()
algbrique une variable temporaire quest dans ce cas 2 = ()
une relation intermdiaire. 1 2 2
VESTE (NV, MARQUE, COULEUR, TAILLE) = (3)
iii. La Valeur Null
NULL = Value unknown or nonexistent
1. Toute opration arithmtique (+, -, *, /) avec une valeur NULL renvoie NULL.
2. Toute comparaison (>, <, =, >=, <=, <>) avec la valeur NULL renvoie une valeur
UNKNOWN.
3. Les oprateurs boolens se comportent comme suit :
Chapitre II : LAlgbre Relationnelle Page 8
and: true and unknown = unknown / false and unknown = false / unknown and
unknown = unknown
or : true or unknown = true / false or unknown = unknown / unknown or unknown =
unknown
not: not unknown = unknown
Quel est le rsultat des oprations algbriques appliques une valeur NULL?
1. Restriction: Si le rsultat de la condition est true la ligne est affiche sinon (false ou
unknown) la ligne nest pas retourne dans le rsultat.
2. Jointure: La jointure est un produit cartsien suivi dune restriction. Le rsultat est le
mme que pour la restriction.
3. Projection: La projection traite le NULL comme une valeur quelconque.
4. Union, Intersection, diffrence: Idem que la projection.
5. Agrgation: Idem que la projection.
IV. Modification de la base de donnes
1. Suppression
avec E une expression algbrique dont le rsultat doit tre de mme schma que la
relation R. le rsultat de lopration est le mme que celui de la diffrence entre R et E.
2. Insertion
avec E une expression algbrique dont le rsultat est de mme schma que R. le
rsultat est le mme que celui de lunion.
3. Modification
,, () avec Er une expression algbrique sur R. uniquement les colonnes spcifies
dans la projection qui sont modifies.
V. Le langage Algbrique
Cest un langage dinterrogation de bases de donnes qui est la base du langage SQL. Les
oprations de base de lalgbre relationnelle constituent un langage complet.
Exemple
- ACTEUR (NA, NOM, PRENOM, ADRESSE, SEXE)
- VESTE (NV, MARQUE, COULEUR, TAILLE)
- PORTE (NA, NV, DATE, DUREE)
Q1 : Donner les marques des vestes de taille 32 et de couleur rouge

- R1 = RESTRICT (VESTE, TAILLE=32) = = ()


- R2 = RESTRICT (VESTE, COULEUR=ROUGE)
= ="" ()
- R3 = INTERSECT (R1, R2) =
- RESULT=PROJECT (R3, MARQUE) = ()

(= ="" ())

Chapitre II : LAlgbre Relationnelle Page 9


Q2 : Donner les noms et prnoms des acteurs qui ont mis des vestes rouges ou bleues

- R1 = RESTRICT (VESTE, COULEUR=ROUGE) R1= ="" (VESTE)


- R2 = RESTRICT (VESTE, COULEUR=BLEU) R2= ="" (VESTE)
- R3 = UNION (R1, R2) 3 = 1 2
- R4 = JOIN (R3, PORTE)
- R5 = JOIN (R4, ACTEUR)
- RESULT=PROJECT (R5, NOM, PRENOM) RESULT = , (R5)

, (JOIN (JOIN (="" ="" (VESTE), PORTE), ACTEUR))


Q3 : Donner les noms et prnoms des acteurs qui ont mis des vestes de taille 32 plus de deux
heures, avec la marque de la veste.
- R1 = RESTRICT (VESTE, TAILLE=32) R2 = RESTRICT (PORTE, DUREE>2)
- R3 = JOIN (R1, R2) R4 = PROJECT (R3, NA, MARQUE)
- R5 = JOIN (R4, ACTEUR) RESULT = PROJECT (R5, NOM, PRENOM, MARQUE)
1. Comment construire une requte algbrique ?
1. Identifier les relations utiles pour exprimer la requte,
2. Recopier le schma de ces relations, et indiquer sur ces schmas:
1. les attributs qui font partie du rsultat de la requte
2. les conditions portant sur les attributs
3. les liens entre les relations
3. Traduire cette figure en expression algbrique
1. faire les slections selon les conditions portant sur les attributs,
2. faire les jointures (naturelles ou thta) selon les liens entre les relations (une jointure par lien)
3. projeter sur les at tributs qui font partie du rsultat
Cette mthode est valable pour la plupart des requtes. Cependant, certains types de requtes
ncessitent de compliquer la mthode. C'est le cas des requtes o la mme relation est utilise
plusieurs fois avec des ensembles de tuples diffrents.
2. Arbre algbrique
Arbre dont les nuds reprsentent les oprations algbriques et les arcs les relations de base ou
temporaires reprsentant des flots de donnes entre oprations.
Exemple :

Chapitre II : LAlgbre Relationnelle Page 10