Vous êtes sur la page 1sur 27

COURS 2 Elements dalgbre relationnelle

C LINE R OBARDET

cours 2 p. 1

Plan
Quest-ce quune algbre ? Une algbre de relations Les oprateurs de lalgbre relationnelle Les expressions Lois algbriques pour les relations

cours 2 p. 2

Interroger des bases de donnes


Quest-ce quune requte ?

Une expression dans une algbre particulire : lalgbre relationnelle


Filtrer des donnes Slection Projection Diffrence Combiner des relations Produit Cartsien Jointure Union

cours 2 p. 3

Quest-ce quune algbre ?


Ensemble muni doprateurs ferms sur cet ensemble Une algbre relationnelle est un ensemble doprateurs

agissant sur des relations et produisant des relations


Forme un systme sur lequel on construit des expressions. Algbre habituelle Oprandes : entiers, rels, nombre complexes

- Constantes - Variables Oprateurs : + et Constantes particulires - 0 : lment neutre pour + - 1 : lment neutre pour Lois permettant de manipuler des expressions arithmtiques
cours 2 p. 4

Une algbre de relations


Oprandes de lalgbre relationnelle : les relations

- Constantes : relations particulires - Variables : reprsente des relations inconnues, mais dont le schma est spcique. A 0 0 5 B 1 3 2 C 2 4 3
R(A, B, C )

Constante

Variable

cours 2 p. 5

Une algbre de relations


Oprateurs de lalgbre relationnelle Oprations ensemblistes (binaires) :

- union - intersection - diffrence - produit cartsien Oprations spciques aux relations - (unaires) : restriction, projection - (binaire) : jointure
Lois permettant de manipuler des exprssions relationnelles

cours 2 p. 6

Quelques dnitions
Ligne (ou tuple) :

L est une squence de valeurs Vi : L = < V1 , V i , , Vn >


Extraction

La ligne < Vi > construite partir de L est note L(i)


Concatnation L1 =< V1 , , Vn > L2 =< W1 , , Wm > L1 L2 =< V1 , , Vn , W1 , , Wm >

cours 2 p. 7

Slection (restriction) (1)


c1 (nom) c2 (ge) c3 (adresse) c4 (n )

T=

Bob Sam Cathy Julie

13 7 13 20

Lyon Nice Brest Lyon

Nice Nice Brest Brest

Slection par rapport une constante

c1 (nom) c3 = Lyon (T )

c2 (ge)

c3 (adresse)

c4 (n )

Bob Julie

13 20

Lyon Lyon

Nice Brest

cours 2 p. 8

Slection (restriction) (2)


Slection par rapport un critre inter-colonne

c1 (nom) c3 =c4 (T )

c2 (ge)

c3 (adresse)

c4 (n )

Sam Cathy

7 13

Nice Brest

Nice Brest

Slection laide dautres comparateurs

c1 (nom) c2 14 (T )

c2 (ge)

c3 (adresse)

c4 (n )

Bob Sam Cathy

13 7 13

Lyon Nice Brest

Nice Nice Brest

cours 2 p. 9

Slection (restriction) (3)


Composition de slections

c3 = Lyon (c2 14 (T )) c1 (nom) c2 (ge) c3 (adresse) c4 (n )

Bob

13

Lyon

Nice

Conjonction de critres

c3 = Lyon (c2 14 (T )) c3 = Lyon et c2 14 (T )

cours 2 p. 10

Formalisation de la slection
Slection par rapport une constante

Lensemble des lignes L de T telles que L(i) = a est not i=a (T ). i=a (T ) = {L | L dans T et L(i) = a}
Slection inter-colonnes

Lensemble des lignes L de T telles que L(i) = L(j ) est not i=j (T ). i=j (T ) = {L | L dans T et L(i) = L(j )}
Autres comparateurs : =, <, >, ,

cours 2 p. 11

Projection (1)
c1 (nom) c2 (ge) c3 (adresse) c4 (n )

T=

Bob Sam Cathy Julie

13 7 13 20

Lyon Nice Brest Lyon

Nice Nice Brest Brest

Exemples de projection

c1 (nom) c1 ,c2 (T )

c2 (ge)

Bob Sam Cathy Julie

13 7 13 20
cours 2 p. 12

Projection (2)
Exemples de projection

c1 (nom)

c2 (adresse)

Bob Lyon c1 ,c3 (T ) Sam Nice Cathy Brest Julie Lyon Renumrotation des colonnes

cours 2 p. 13

Formalisation de la projection
Projection sur les colonnes :

Lensemble des lignes de T obtenues en ne conservant que les colonnes i1 , i2 , , ik est not i1 ,i2 , ,ik (T )
i1 , ,ik (T ) = {L(i1 ) L(ik ) | L dans T }

cours 2 p. 14

Composition
c1 (nom) c2 (ge) c3 (adresse) c4 (n )

T=

Bob Sam Cathy Julie

13 7 13 20

Lyon Nice Brest Lyon

Nice Nice Brest Brest

Quels sont les noms des personnes habitant Lyon ? Algbre : le rsultat dune opration portant sur des

relations est aussi une relation, ce qui rend possible la composition de diffrentes oprations

cours 2 p. 15

Produit cartsien (1)


Homme
c1 (nom) c2 (adresse)

Femme
c1 (nom) c2 (adresse)

Bob Sam

Lyon Nice

Cathy Julie Linda

Brest Lyon Lyon

Quels sont les couples homme-femme ?

Homme

Femme
F emme)

Quels sont les couples homme-femme dune mme ville ?

c2 =c4 (Homme

cours 2 p. 16

Produit cartsien (2)


Homme
c1 (nom) c2 (adresse) c1 (nom)

Ville
c2 (nb hab.) c3 (dpart.)

Bob Sam

Lyon Nice

Nice Brest Lyon

340.000 160.000 420.000

Alp-Mar Finistre Rhne

Dans quels dpartements habitent les hommes ?

Homme Ville c2 =c3 (Homme V ille)

cours 2 p. 17

Formalisation du produit cartsien


Ensemble des lignes pouvant tre obtenues par

concatnation dune ligne de T1 avec une ligne de T2 est not T1 T2


T1 T2 = {L1 L2 | L1 dans T1 et L2 dans T2 }

Le produit cartsien T1

T2 est souvant suivi dune slection dans laquelle intervient une colonne issue de T1 et une colonne issue de T2 ...

cours 2 p. 18

Jointure (1)
Homme
c1 (nom) c2 (adresse)

Femme
c1 (nom) c2 (adresse)

Bob Sam

Lyon Nice

Cathy Julie Linda

Brest Lyon Lyon

Quels sont les couples homme-femme dune mme ville ?

Homme c2 =c2 Femme c2 =c4 (Homme


c1 (nom) c2 (adresse) c3 (nom)

F emme)

c4 (adresse)

Bob Bob

Lyon Lyon

Julie Linda

Lyon Lyon

cours 2 p. 19

Jointure (2)
Homme
c1 (nom) c2 (adresse) c1 (nom)

Ville
c2 (nb hab.) c3 (dpart.)

Bob Sam

Lyon Nice

Nice Brest Lyon

340.000 160.000 420.000

Alp-Mar Finistre Rhne

Dans quel dpartement habitent les hommes ?

Homme c2 =c1 Ville c2 =c3 (Homme


c1 (nom) c2 (adresse) c3 (nom)

V ille) c5 (dpart.)

c4 (nb hab.)

Bob Sam

Lyon Nice

Lyon Nice

420.000 340.000

Rhne Alp-Mar

cours 2 p. 20

Formalisme de la jointure
Combinaison dun produit cartsien et dune slection Lensemble des lignes L pouvant tre obtenues par

concatnation dune ligne de L1 de T1 avec une L2 de T2 telle que L1 (i) = L2 (j ) est not T1 i=j T2
T1 i=j T2 = {L1 L2 | L1 dans T1 et L2 dans T2 et L1 (i) = L2 (j )}
Comme pour la slection, les comparateurs =, >, <, ,

ainsi que les conjonctions de critres peuvent tre employs.

cours 2 p. 21

Union
Homme
c1 (nom) c2 (adresse)

Femme
c1 (nom) c2 (adresse)

Bob Sam

Lyon Nice

Cathy Julie Linda

Brest Lyon Lyon

Quel est lensemble des personnes ? Quel est lensemble des personnes habitant Lyon ? Les relations doivent avoir mme schma (mme nombre

dattributs dont les domaines correspondent)

cours 2 p. 22

Diffrence
Homme
c1 (nom) c2 (adresse)

Femme
c1 (nom) c2 (adresse)

Bob Sam

Lyon Nice

Cathy Julie Linda

Brest Lyon Lyon

Quelles sont les villes pour lesquelles on connat au moins

un homme et aucune femme ?


c2 (Homme) c2 (F emme)

cours 2 p. 23

Oprations drives
Intersection Division Permet de rechercher les sous-tuples dune relation qui

sont complts par tous ceux dune autre relation Question du type quel que soit x, trouver y Vins Cru Volnay Volnay Chablis Chablis Julienas Mill. 1983 1979 1983 1979 1986 Qualit A B A A A Mill. 1983 1979 Qualit A A Qualit

cours 2 p. 24

Les expressions de lalgbre relationnelle


Une requte est une expression doprations de lalgbre

relationnelle. Elle permet dlaborer les rponses la plupart des questions que lon peut poser une base de donnes relationnelle.
Reprsentation sous forme darbre relationnel Les feuilles sont tiquetes par les oprandes Les nuds sont tiquets par les oprateurs et leurs

paramtres

cours 2 p. 25

Arbre et transformation de requtes


Quels sont les couples possibles avec une femme de Lyon

et un homme de Nice ?
c1 (nom) c2 (nom)

Julie Linda

Sam Sam

cours 2 p. 26

Quelques lois algbriques pour les oprateurs


Restriction Descente de restriction

- (c (R S )) = (c (R) S ) si c porte sur R - (c (R S )) = (R c (S )) si c porte sur S Commutativit de la restriction - c (d (R)) = d (c (R))


Projection Descente de la projection que par rapport lunion :

L (R S ) = L (R) L (S ) Descente de la projection sous une jointure : (L (R A=B S )) = (L (M (R) A=B N (S ))) avec : - M les attributs de L portant sur R, suivis de A - N les attributs de L portant sur S , suivis de B

cours 2 p. 27