Vous êtes sur la page 1sur 11

Lalgbre relationnelle: Invente par CODD

Lalgbre relationnelle est aux relations ce quest larithmtique aux entiers.


Le modle relationnel: les concepts de manipulation
Ces oprations permettent d'exprimer toutes les requtes sous forme
d'expressions algbriques.
Elles sont la base du langage SQL.
Ces oprations se gnralisent l'objet : Algbre d'objets complexes.
Les oprations ensemblistes pour des relations de mme schma (oprations
dites binaires) :
- UNION note
- INTERSECTION note
- DIFFERENCE note
- Le PRODUIT CARTESIEN not
Les oprations binaires :
Relation <op> Relation Relation
Oprations ensemblistes:
R
R
R
R

X
1

R1

R2 R1

R2 R1

R2 R1

R2

Oprations spcifiques

La projection:
- Elimination des attributs non dsirs et suppression des tuples en double.
- Relation Relation (unaire).
Rsultat
Reprsentations: A1,A2,...Ap (R)
Graphique:
A1,A2,Ap
PROJECTION (R;A1,A2,..Ap)

PROJECTION (A1,A2,..Ap;R)
VOITURE TYPE
206
206
307
MEGANE

ANNEE
2003
2000
2002
2000

Type,Ville (VOITURE)

(VOITURE)

Relation
VILLE
RABAT
RABAT
CASA
SALE

Qualit
A
C
B
A

Projection (VOITURE;Type,Ville)

TYPE
206
307
MEGANE

VILLE
RABAT
CASA
2000

Restriction:
Rsultat
Obtention des tuples de R satisfaisant un critre Q.
Relation unaire, note Q(R) ou RESTRICTION (R; Q)
Ai Valeur
Q est le critre de qualification de la forme : Ai Valeur
Relation

{ =, <, >=, >, <=, #}


Possibilit de raliser dunions (ou) et dintersections (et) de critres simples.
VOITURE TYPE
206
206
307
MEGANE
ANNEE>2002 (VOITURE)

VOITURE TYPE
206

ANNEE
2003
2000
2002
2000

VILLE
RABAT
RABAT
CASA
SALE

Qualit
A
C
B
A

RESTRICTION (VOITURE;ANNEE>2002)
ANNEE
2003

VILLE Qualit
RABAT A

Le renommage: - not pour renommer des attributs dune relation.


- A/A,B/B(R) permet de renommer A en A et B en B. 3
- Produit cartsien dune relation sur elle mme: R x A/A,B/B(R)

Jointure
Composition des 2 relations sur un domaine commun (Relation binaire).
Critre de jointure:
- Attributs de mme nom gaux : Attribut = Attribut : jointure naturelle.
- Comparaison d'attributs : Attribut1 Attribut2 : thta-jointure.
Rsultat
- Jointure (R1;R2; condition)
Ai
Bj
R1
R2
condition
R2
R1
V_Occasion TYPE
ANNEE
VILLE Qualit
206
2003
RABAT A
206
2000
RABAT C
307
2002
CASA
B
MEGANE 2000
SALE
A
VOITURE TYPE
206
307
MEGANE

MARQUE
PEUGEOT
PEUGEOT
RENAULT

PUISSANCE
ch
ch
ch

Jointure (V_Occasion; Voiture; Type)

VoitVOcc TYPE
206

V_Occasion

ANNEE VILLE Qualit


2003
RABAT A
ch
206
2000
RABAT C
ch
307
2002
CASA B
PERSONNE
ch
MEGANE
2000 des
SALE
A:
Exemples: Donnez
les rsultats
Requtes
ch
Rq1 :
(PERSONNE)

Voiture
Type

MARQUE PUISSANCE
PEUGEOT
PEUGEOT

PEUGEOT
Nom
Age
Ali
RENAULT29
Reda
32
Age=30
Wafa
54
Rq2 : Age(PERSONNE)
Zineb
13
Rq3 : Age( Nom='Serge'(PERSONNE))
Med
40
Rq4 : Les personnes (nom, ge, ville) qui habitent Rabat.
Rq5 : Les personnes (nom, ge, ville) qui ont moins de 30 ans
Rq6 : les villes dans la relation PERSONNE.
Rq7 : les noms des personnes habitant Rabat.

Ville
Rabat
Casa
Rabat
Kenitra
Sale

Exemple:

Voiture NV
1
2
3
4

Marque
Renault
Ford
Peugeot
Toyota

Client Nom
Ali
Wafa
Reda
Zineb
Med

NV
1
2
2
3
5

Projection(NOM; Restriction(MARQUE=Ford ;Jointure(Client;Voiture)))

Nom
Marc
Catherine
Sophie
Claude

NV
1
2
2
3

Marque
NOM( MARQUE=Ford (Client
Renault
Ford
Jointure (Client,Voiture)
Ford
Peugeot
Nom
NV Marque
Catherine 2
Ford
Sophie
2
Ford

Voiture))

Restriction (Marque=Ford)

Nom
Catherine Projection6 (Nom)
Sophie

La jointure externe et la semi-jointure

La jointure externe ajoute les tuples qui ne participent pas la jointure avec
des valeurs nulles pour les attributs de lautre relation. Trs utile pour
composer des vues sans perte dinformations : EXT-JOINTURE (R1; R2)
La semi-jointure de R1 et R2 donne les tuples de R1 qui participent la
jointure des 2 relations : SEMI-JOINTURE (R1 ; R2)
CLIENT NCL
1
2
3
4
NCO
1
2
3
-

NOMC
Martin
Pierre
Paul
Jacques

PRODUIT NCL
Savon
1
crayon
3
gomme
3
2
4
Jointure externe

COMMANDE NCO
1
2
3

NOMC
Martin
Paul
Paul
Pierre
Jacques

PRODUIT
Savon
crayon
gomme

NCL
1
3
3

CLIENT NCL NOMC


1
Martin
3
Paul
Semi jointure
7

Compltude et concepts additionnels


Compltude :
Aucun des oprateurs suivants ne peut tre produit partir des autres: restriction,
projection, produit cartsien, union, diffrence.
L'algbre relationnelle est complte : les 5 oprations de base permettent de
formaliser sous forme d'expressions toutes les questions que l'on peut poser
avec la logique du 1erordre (sans fonction).
Les autres oprateurs: intersection, division, jointure externe et semi-jointure.
Exemple dintersection: R1 R2 = R1 - ( R1 - R2).
Concepts additionnels:
Ensemble de concepts pour : - Etendre les fonctionnalits de manipulation.
- Dcrire les rgles d'volution des donnes.
- Supporter des objets complexes (SQL3).
Introduits progressivement dans le modle :
- Complique le modle.
- Manque parfois de standard (SQL3). 8
- Des extensions l'infini

Fonction et Agrgat
Fonction: Fonction de calcul en ligne applique sur un ou plusieurs attributs:
DEGRE * QUANTITE / 100
Agrgat: Partitionnement horizontal d'une relation selon les valeurs d'un
groupe d'attributs, suivi d'un regroupement par une fonction de calcul en
colonne (SUM, MIN, MAX, AVG, COUNT, )
Lopration gnrique: Rsultat = AGREGAT (<R>;<attributs1n>;
<Fonction> { <Attribut>})

Ex.:

AGREGAT (COMMANDE; NCL; COUNT{NCO})

COMMANDE NCO
1
2
3

PRODUIT
Savon
crayon
gomme

NCL
1
3
3

NCL
1
3

COUNT(NCO)
1
2

PERSONNE NOM AGE VILLE


Ex1: Soit la relation:
Donnez les rsultats des requtes suivantes :
ALI
29
RABAT
REDA 32
SALE
R1 : Age=30(PERSONNE) (slection)
SAMI 13
RABAT
R2 : Age(PERSONNE) (projection)
MARC 54
KENITRA
R3 : Age(Nom=ALI'(PERSONNE))
Med 40
CASA
Ex2: Exprimez les requtes suivantes :
R1 : les personnes (nom, ge, ville) qui habitent Rabat.
R2 : les personnes (nom, ge, ville) qui ont moins de 30 ans.
R3 : les villes dans la relation PERSONNE.
R4 : les noms des personnes habitant Rabat.
R A B S B C
Ex3: Soient R et S les relations :
b c
A, B, C sont dfinis sur les domaines des lettres de l'alphabet. a b
a f
e a
- Donnez le rsultat des requtes suivantes:
c b
b d
R1 : R |><| S (jointure naturelle).
d e
g b
R2 : A=C(B/B'(R) S) (qui-jointure).
R3 : R |>< S (semi-jointure).
10 S)=S
- Les quations suivantes sont-elles vraies ? A,B(R |><| S)=R ; B,C(R |><|

Ex4: On considre les 2 relations suivantes:


FILMS(TITRE, PAYS, ANNEE, REALISATEUR, DUREE)
ACTEURS(TITRE, ACTEUR)
La relation FILMS donne pour chaque film identifi par son titre, le pays, l'anne
de sortie, ralisateur et la dure.
La relation ACTEURS donne pour chaque film l'ensemble des principaux acteurs
A l'aide de l'algbre relationnelle exprimer les requtes suivantes:
Q1: Liste des films franais (titre, anne, ralisateur).
Q2: Donnez les annes de sortie des films tourns par GABIN.
Q3: Trouver les acteurs qui ont tourn avec TRUFFAUT comme ralisateur.
Q4: Trouver tous les acteurs qui ont t partenaires de DENEUVE.
Q5: Liste des films o le ralisateur est aussi acteur
Q6: Ralisateurs ayant jou comme acteurs dans des films qu'ils ne ralisaient pas
eux-mmes.
Q7: Ralisateurs qui ne jouent pas dans un de leur propre film.
Q8: Donnez les acteurs qui jouent dans tous les films de Truffaut.
11