Alg Alg è è bre Relationnelle bre Relationnelle
Plan Plan
Introduction
Opérateurs Unaires
Opérateurs Binaires
Exemples d’utilisation
Conclusion
D D é é finition finition
Inventée par Codd, l’algèbre relationnelle est un langage simple qui permet d'exprimer des requêtes sur une base de données relationnelle
Elle définit plusieurs opérations pour manipuler des relations Ces opérations permettent d'exprimer toutes les requêtes
sous forme d'expressions algébriques Elles sont la base du langage SQL
L’application d’un opérateur sur un ensemble de relations
donne une relation finale (résultat de la requête)
Sch Sch é é ma utilis ma utilis é é
Client (N°, Nom Client, Téléphone)
Article (N° Article,Description, P.U., Quantité)
Commande (N° Com, Date, N° Client )
Détail commande (N° Com, N° Article, Quantité)
Op Op é é rateurs relationnels rateurs relationnels
L’algèbre relationnelle utilise deux types d'opérateurs
Opérateurs unaires qui portent en entrée sur UNE relation
Projection (π)
Sélection ou Restriction (σ)
Complément (Not)
Op Op é é rateurs relationnels rateurs relationnels
L’algèbre relationnelle utilise deux types d’opérateurs
Opérateurs binaires qui portent en entrée sur DEUX relations
l’union (∪)
l’intersection (∩) la différence (-) la division (÷)
le produit cartésien (X) Jointures ( )
– Composition du X et d'une sélection
Théorie des ensembles
homme
Projection (
Projection ( π π π π π π π π )))) ))))
Définition
Elle consiste à garder d'une relation R certains attributs désirés
Elle permet de supprimer
des colonnes non désirées
des tuples en double (résultat de
suppression des attributs identifiants)
Le degré k de la relation résultat est
Projection (
Projection ( π π π π π π π π )))) ))))
Notation
A 1 , A 2 , …A k
Résultat
R
Résultat = π A
1, A
2, …A
k(R)
Graphique
Résultat = Project ( R /
A1, A2, …Ak)
Résultat = R(
A , A, …A)
Projection (
Projection ( π π π π π π π π )))) ))))
Exemple
Afficher les numéros client et les dates des commandes
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N ° Client Date
N ° Com
Table Commande
05/07/2000 10
02/06/2000 10
02/06/2000 20
01/06/2000 10
Date N ° Client
π N°Client , Date ( Commande )
S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))
Définition
Elle Permet d'extraire d'une relation R les tuples qui satisfont une condition Q
la relation résultat a la même structure que la relation initiale R
Elle permet de supprimer
des tuples non désirées
Le degré k de la relation résultat est égal au degré n de R
Elle est appelée Restriction également
S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))
Définition
La condition Q peut être composée d'une ou de plusieurs comparaisons
Une comparaison peut s'effectuer entre un attribut A i de la relation R
Et une constante a Et un autre attribut A j
La comparaison s'écrit Ai9[a|A j ]
Où 9 ∈
– =, !=, <>, ^=, <, >, ≤, ≥ – between
– in
S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))
Définition
Pour faire une condition Q composée de plusieurs comparaisons, on peut utiliser
Les opérateurs logiques : and, or ou not
– Not placé devant un prédicat en inverse le sens
– And est prioritaire devant or
S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))
Notation
Résultat
R
Résultat = σ σ σ σ σ σ σ σ condition (R)
condition
Graphique
Résultat = R[condition]
Résultat = Restrict [condition]
S S é é lection ( lection ( σ σ σ σ σ σ σ σ )))) ))))
Exemple
Trouver les commandes passées au mois de juin 2000
40 15/07/2000 7
20 09/07/2000 6
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°Client N°Com Date
Table Commande
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°Client N°Com Date
σ Date >= 1/6/2000 AND Date < 1/7/2000 ( Commande )
Compl
Compl é é ment ( ment ( ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ)
Définition
Elle consiste à construire une relation résultat de tuples qui n'appartiennent pas à une relation R
Elle exige que les domaines (valeurs
acceptées) soient finis
Compl
Compl é é ment ( ment ( ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ)
Notation
NOT
Résultat
R
Résultat = ΝΟΤ (R)
Graphique
Compl
Compl é é ment ( ment ( ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ) ΝΟΤ)
Exemple
5 4
2 2
5 1
1 1
B A
Table R
2 4
1 4
5 2
1 2
2 1
B A
Table NOT( R)
Diff Diff é é rence ( rence ( − − − − − − − − )))) ))))
Définition
Elle permet d'exprimer une négation (je veux rejeter, je ne veux pas, etc.)
Elle consiste à créer une relation comprenant tous les tuples de R qui n'existent pas dans S Elle exige que les relations R et S aient le même schéma (même nombres, noms et types
d'attributs)
Elle n'est pas commutative
Diff Diff é é rence ( rence ( − − − − − − − − )))) ))))
Notation
Résultat
R
Résultat = R − − − − − − − − S
−
−
−
− −
−
−
−
S
Graphique
Résultat = MINUS (R, S)
Diff Diff é é rence ( rence ( − − − − − − − − )))) ))))
Exemple
2 2
1 1
B A
Table R
3 3
2 2
B A
Table S
1 1
B A
Table R − − − − − − − − S
3 3
B A
Table S-R
Union (
Union ( ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ )))) ))))
Définition
Elle consiste à créer une relation comprenant tous les tuples existant dans R ou S
Elle exige que les relations R et S aient le même schéma (même nombres, noms et types
d'attributs)
Elle est commutative
Elle supprime les doublons
Union (
Union ( ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ )))) ))))
Notation
Résultat
R
Résultat = R ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ S
∪
∪ ∪
∪ ∪
∪
∪
∪
S
Résultat = UNION (R, S)
Graphique
Union (
Union ( ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ )))) ))))
Exemple
2 2
1 1
B A
Table R
3 3
2 2
B A
Table S
1 1
B A
Table R ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪ S
Intersection (
Intersection ( ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ )))) ))))
Définition
Elle consiste à créer une relation comprenant tous les tuples existant dans R et S
Elle exige que les relations R et S aient le même schéma (même nombres, noms et types
d'attributs)
Elle est commutative
Elle peut être exprimée par
R ∩ S = R-(R-S) = S-(S-R)
Intersection (
Intersection ( ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ )))) ))))
Notation
Résultat
R
Résultat = R ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ S
∩
∩ ∩
∩ ∩
∩
∩
∩
S
Graphique
Résultat = INTERSECT(R,S)
Intersection (
Intersection ( ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ )))) ))))
Exemple
2 2
1 1
B A
Table R
3 3
2 2
B A
Table S
2 2
B A
Table R ∩ ∩ ∩ ∩ ∩ ∩ ∩ ∩ S
Division (
Division ( ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ) )
Définition
Elle consiste à diviser une relation R par une relation S contenant exclusivement des
attributs de R
Elle est utile pour répondre aux requêtes de type:
commande (noC,noP,... ), catalogue (noP,...)
Quels sont les clients qui ont commandé tous les produits ?
Elle n'est pas commutative
Elle peut être exprimée par
Division (
Division ( ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ) )
Notation
Résultat
R
Résultat = R ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ S
÷
÷
÷
÷ ÷
÷
÷
÷
S
Graphique
Résultat = Division(R,S)
Division (
Division ( ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ ) )
Exemple
3 A
2 D
3 D
2 C
2 B
2 A
Col 2 Col 1
Table R
D A Col 1 Table S
Table R ÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷ S
Produit Cart
Produit Cart é é sien (X) sien (X)
Définition
Elle permet de créer à partir de deux relations R et S une nouvelle relation où chaque tuple de R est associé à chaque tuple de S
La cardinalité (nombre de tuples) de la relation résultat est exactement |R]x|S|
Elle est souvent suivie d'une sélection dans laquelle intervient une colonne issue de T1 et une colonne issue de T2
Jointures
Produit Cart
Produit Cart é é sien (X) sien (X)
Notation
Résultat
R
Résultat = R X S
X X
S
Graphique
Résultat = PRODUCT (R, S)
Produit Cart
Produit Cart é é sien (X) sien (X)
Client × Commande
Client.noClient nomClient noTéléphone noCommande dateCommande Commande. noClient
10 Hugh Paycheck (999)999-9999 1 01/06/2000 10
10 Hugh Paycheck (999)999-9999 2 02/06/2000 20
10 Hugh Paycheck (999)999-9999 3 02/06/2000 10
10 Hugh Paycheck (999)999-9999 4 05/07/2000 10
10 Hugh Paycheck (999)999-9999 5 09/07/2000 30
10 Hugh Paycheck (999)999-9999 6 09/07/2000 20
10 Hugh Paycheck (999)999-9999 7 15/07/2000 40
(333)333-3333 Dollard Cash
80
(444)444-4419 Coco McPoulet
70
(666)666-6666 Comtesse Hasek
60
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
40 15/07/2000 8
40 15/07/2000 7
20 09/07/2000 6
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°Client N°Com Date
Table Commande
Conflits de noms d'attributs Conflits de noms d'attributs
Si deux relations ont des attributs de même nom, deux techniques sont
utilisées pour distinguer l'origine des attributs
Préfixer l'attribut Renommage (ρ)
☺ Ou les deux
Conflits de noms d'attributs Conflits de noms d'attributs
Préfixer l'attribut par le nom de la table d'où il provient
10 15.99 Genévrier
95
10 25.99 Pommier
90
10 25.99 Catalpa
81
10 26.99 Poirier
80
10 10.99 Herbe à puce
70
10 15.99 Erable argenté
60
10 22.99 Chêne
50
10 25.99 Epinette bleue
40
10 12.99 Sapin
20
10 10.99 Cèdre en boule 10
Quantité P.U.
Description N°
Table Article
(333)333-3333 Dollard Cash
80
(444)444-4419 Coco McPoulet
70
(666)666-6666 Comtesse Hasek
60
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
Renommage
Renommage ( ( ρ ρ ρ ρ ρ ρ ρ ρ ) )
Définition
Il s'agit d'un opérateur particulier nommé ρ
permettant de renommer
une relation
un ou plusieurs attributs dans une relation
Notation
Résultat
ρ ρ ρ ρ ρ ρ ρ
ρ (R) ρ ρ ρ ρ ρ ρ ρ ρ
Renommage
Renommage ( ( ρ ρ ρ ρ ρ ρ ρ ρ ) )
Exemple
Changer l'attribut N° par Code_Client dans la table Client
(444)444-4419 Coco McPoulet
70
(666)666-6666 Comtesse Hasek
60
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
(666)666-6666 Comtesse Hasek
60
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
Code_Client
ρ N° Code_Client (Client)
Renommage
Renommage ( ( ρ ρ ρ ρ ρ ρ ρ ρ ) )
Exemple
Renommer la table Client en Client2
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client2
ρ Client2 (Client)
Thêta
Thêta - - produit produit ( ( thêta thêta - - jointure jointure ) )
Définition
Elle consiste en un produit cartésien suivi d’une sélection quelconque
La condition utilisée dans la sélection peut être composée d'une ou de plusieurs comparaisons La comparaison peut être basée sur :
– =, !=, <>, ^=, <, >, ≤, ≥ – between
– in – Like
– IS NULL, IS NOT NULL
Thêta
Thêta - - produit produit ( ( thêta thêta - - jointure jointure ) )
Notation
Résultat
R
Résultat = R (condition) S
S
[condition]
Graphique
Thêta
Thêta - - produit produit ( ( thêta thêta - - jointure jointure ) )
Exemple
2 B
1 A
Col 2 Col 1
Table R
Y X Col 3 Table S
X 2
B
Y X Col3
1 1 Col2
A A Col 1
Table R X S
Y Col3 1
Col2 A
Col 1
Table R (col3=Y) S
É É qui qui - - jointure jointure ( ) ( )
Définition
Elle consiste en un produit cartésien suivi d’une sélection particulière
Les valeurs d'un ou de plusieurs attributs sont identiques (=)
Dans 90%, ces attributs sont :
– la clé primaire d'une relation et la clé étrangère de l'autre relation
Elle représente l'opération la plus utilisée
É É qui qui - - jointure jointure ( ) ( )
Définition
Elle permet de réaliser une liaison logique entre deux tables.
Dans la relation résultat, apparaissent
Toutes les colonnes des deux relations
– Y compris les deux colonnes identiques de jointure
Les tuples liés uniquement
É É qui qui - - jointure jointure ( ) ( )
Notation
Résultat
R
Résultat = R S
S
Graphique
Résultat = Join(R,S)
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
60 12/02/2002 9
40 15/07/2000 8
40 15/07/2000 7
20 09/07/2000 6
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°
N°Com Date
Table Commande
É É qui qui - - jointure jointure ( ) ( )
Exemple
Trouver toutes les commandes des clients
Table Client Commande
20 09/07/2000
6 (888)888-8888 Dollard Cash
20
20 02/06/2000
2 (888)888-8888 Dollard Cash
20
10 05/07/2000
4 (999)999-9999 Hugh Paycheck
10
10 02/06/2000
3 (999)999-9999 Hugh Paycheck
10
10 01/06/2000
1 (999)999-9999 Hugh Paycheck
10
numéroClient dateCommande
noCommande noTéléphone
nomClient noClient
Jointure naturelle (*) Jointure naturelle (*)
Définition
C'est une équi-jointure dans laquelle une seule colonne de jointure apparaît dans la relation résultat
Elle est possible que lorsque les 2 attributs de
jointure ont le même nom (sinon renommer
l’un des attributs)
Jointure naturelle (*) Jointure naturelle (*)
Notation
Résultat
R
R * S * *
S
Graphique
Jointure naturelle (*) Jointure naturelle (*)
Exemple
Trouver toutes les commandes des clients
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
60 12/02/2002 9
40 15/07/2000 8
40 15/07/2000 7
20 09/07/2000 6
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°
N°Com Date
Table Commande
Table Client * Commande
02/06/2000 2
(888)888-8888 Dollard Cash
20
05/07/2000 4
(999)999-9999 Hugh Paycheck
10
02/06/2000 3
(999)999-9999 Hugh Paycheck
10
01/06/2000 1
(999)999-9999 Hugh Paycheck
10
dateCommande noCom
mande noTéléphone
nomClient noClient
Demi Demi - - Jointures Jointures
Définition
C'est une extension de jointure naturelle permettant de faire apparaître dans la
relation résultat l’intégralité des tuples de l’une ou l’autre relation
Demi-jointure Gauche
Demi-jointure Droite
Demi Demi - - Jointure Jointure Gauche (> Gauche ( ) )
Définition
C'est une extension de jointure naturelle permettant de faire apparaître dans la
relation résultat
l’intégralité des tuples de la relation à gauche Les valeurs manquantes de la relation de
droite sont remplacées par des valeurs nulles
Elle n’est pas commutative
Demi Demi - - Jointure Jointure Gauche (> Gauche ( ) )
Notation
Résultat
R
R > S > >
S
Graphique
Demi Demi - - Jointure Jointure Gauche (> Gauche ( ) )
Exemple
Trouver toutes les commandes des clients
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
40 15/07/2000 8
40 15/07/2000 7
20 09/07/2000 6
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°
N°Com Date
Table Commande
Table Client > Commande
02/06/2000 2
(888)888-8888 Dollard Cash
20
05/07/2000 4
(999)999-9999 Hugh Paycheck
10
02/06/2000 3
(999)999-9999 Hugh Paycheck
10
01/06/2000 1
(999)999-9999 Hugh Paycheck
10
dateCommande noCom
mande noTéléphone
nomClient noClient
Demi Demi - - Jointure Jointure Droite ( < Droite ( ) )
Définition
C'est une extension de jointure naturelle permettant de faire apparaître dans la
relation résultat
l’intégralité des tuples de la relation à droite Les valeurs manquantes de la relation de gauche sont remplacées par des valeurs nulles
Elle n’est pas commutative
Demi Demi - - Jointure Jointure Droite ( < Droite ( ) )
Notation
Résultat
R
R < S < <
S
Graphique
Demi Demi - - Jointure Jointure Droite ( < Droite ( ) )
Exemple
Trouver toutes les commandes des clients
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
60 12/02/2002 9
40 15/07/2000 8
40 15/07/2000 7
20 09/07/2000 6
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°
N°Com Date
Table Commande
Table Client < Commande
09/07/2000 5
(777)777-7777 Ye San Le Sou
30
09/07/2000 6
(888)888-8888 Dollard Cash
20
02/06/2000 2
(888)888-8888 Dollard Cash
20
05/07/2000 4
(999)999-9999 Hugh Paycheck
10
02/06/2000 3
(999)999-9999 Hugh Paycheck
10
01/06/2000 1
(999)999-9999 Hugh Paycheck
10
dateCommande noCom
mande noTéléphone
nomClient noClient
Jointure ext
Jointure ext é é rieure ou rieure ou externe
externe
Définition
C'est une extension de jointure naturelle permettant de faire apparaître dans la
relation résultat l’intégralité des tuples des deux relations
Elle est commutative
La jointure naturelle de deux semi-
jointures gauche et droite fournit comme
Jointure ext
Jointure ext é é rieure ou rieure ou externe
externe
Notation
Résultat
R
R S
S
Graphique
Jointure ext
Jointure ext é é rieure ou rieure ou externe
externe
Exemple
Trouver toutes les commandes des clients
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
60 12/02/2002 9
40 15/07/2000 8
40 15/07/2000 7
20 09/07/2000 6
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°
N°Com Date
Table Commande
Table Client Commande
09/07/2000 5
(777)777-7777 Ye San Le Sou
30
09/07/2000 6
(888)888-8888 Dollard Cash
20
02/06/2000 2
(888)888-8888 Dollard Cash
20
05/07/2000 4
(999)999-9999 Hugh Paycheck
10
02/06/2000 3
(999)999-9999 Hugh Paycheck
10
01/06/2000 1
(999)999-9999 Hugh Paycheck
10
dateCommande noCom
mande noTéléphone
nomClient noClient
Auto Auto - - Jointure Jointure
Définition
C’est une jointure naturelle dans laquelle les deux relations entrées représentent la même relation initiale
Il est nécessaire dans ce cas de distinguer les entrées par la technique de
renommage des relations
Compl
Compl é é tude des op tude des op é é rateurs rateurs relationnels
relationnels
Les opérateurs
de projection, de sélection, d'union, et de différence
de produit cartésien,
Sont nécessaires et suffisantes
Permettent de définir les autres
Quelques r
Quelques r è è gles d gles d ’é ’é quivalence quivalence
• Eclatement d'une sélection conjonctive (SE)
σ e1 ET e2 (T) = σ e1 ( σ e2 (T))
• Commutativité de la sélection (SC)
σ e1 ( σ e2 (T)) = σ e2 ( σ e1 (T))
• Elimination des projections en cascades (PE)
π liste1 (π liste2 (T)) = π liste1 (T)
• Commutativité de la jointure (JC)
T 1 T 2 = T 2 T 1
• Associativité de la jointure (JA)
T 1 (T 2 T 3 ) = (T 1 T 2 ) T 3
Extensions de l'alg
Extensions de l'alg è è bre relationnelle pour bre relationnelle pour les bases de donn
les bases de donné é es es
Fonctions sur colonnes
Opérations arithmétiques (+, - , *, /,…) Manipulation de chaînes (concaténation, formatage, etc. …)
...
Fonctions de groupe (ou d'agrégat)
e.g. total, moyenne, écart-type, min,
max,…
Exemple d
Exemple d ’ ’ utilisation utilisation
Afficher le numéro client et la date de commande
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
40 15/07/2000 7
20 09/07/2000 6
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°
N°Com Date
Table Commande
π noClient, dateCommande (Commande)
Exemple d
Exemple d ’ ’ utilisation utilisation
Afficher le nom du client et la date de commande
(555)555-5555 Hafedh Lajoie
50
(666)666-6666 Le Comte Hasek
40
(777)777-7777 Ye San Le Sou
30
(888)888-8888 Dollard Cash
20
(999)999-9999 Hugh Paycheck
10
Téléphone Nom_Client
N°
Table Client
30 09/07/2000 5
10 05/07/2000 4
10 02/06/2000 3
20 02/06/2000 2
10 01/06/2000 1
N°
N°Com Date