![Page 1: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/1.jpg)
Bases de Données Relationnelles
L’algèbre relationnelle
![Page 2: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/2.jpg)
BDA.6.2
Langages de manipulation
n Langages formels : base théorique solide
n Langages utilisateurs : version plus ergonomique
n Langages procéduraux : définissent comment dériver le résultat souhaité
n Langages assertionnels (ou déclaratifs) : définissent le résultat souhaité
![Page 3: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/3.jpg)
BDA.6.3
LMD classiques
n Langages formels u langages algèbriques : définissent un ensemble
d’opérateurs de manipulationu langages prédicatifs (calcul) : définissent le résultat
souhaité en utilisant des expressions de logique
n Langages utilisateursu inspirés principalement des langages algèbriques : SQLu inspirés des langage prédicatifs : QBE, QUEL
![Page 4: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/4.jpg)
BDA.6.4
L’approche algèbrique
n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés à souhait pour construire des expressions algèbriques
n Propriété des algèbres : fermeture
Le résultat de tout opérateur est du même type que les opérandes (ce qui est indispensable pour construire des expressions)
n Propriété souhaitée : complétude
Toute manipulation pouvant être souhaitée par les utilisateurs devrait pouvoir être exprimable par une expression algèbrique
![Page 5: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/5.jpg)
BDA.6.5
L’algèbre relationnelle
n Opérandes : relations du modèle relationnel (1NF)
n Fermeture : le résultat de toute opération est une nouvelle relation
n Complétude : permet toute opération sauf les fermetures transitives et les fonctions d'agrégation (min, max, count…)
n Opérations unaires (un seul opérande) :sélection (σ), projection (π), renommage (α)
n Opérations binaires (deux opérandes):produit cartésien (×), jointures (*), union (∪), intersection (∩), différence (−), division (/)
![Page 6: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/6.jpg)
BDA.6.6
Préambule
n Pour chacune de ces 9 opérations, on donne : u l’opérationu la syntaxe (notation)u la sémantique (résultat attendu)u le schémau d’éventuelles remarquesu un exemple
![Page 7: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/7.jpg)
BDA.6.7
Sélection σ
n But : ne retenir que certains tuples dans une relation
Pays nom capitale population surfaceAutriche Vienne 8 83UK Londres 56 244Suisse Berne 7 41
On ne veut que les pays dont la surface est inférieure à 100 :
Petit-pays = σ [surface < 100] Pays
Petit-pays nom capitale population surfaceAutriche Vienne 8 83Suisse Berne 7 41
![Page 8: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/8.jpg)
BDA.6.8
Sélection σ
n Petit-pays = σ [surface < 100] Pays
n Syntaxe : σ [c] Rc : condition de sélection
n condition-élémentaire : attribut opérateur-de-comparaison constante-ou-attributu attribut est un attribut de la relation R u opérateur-de-comparaison : =, ? , <, >, =, =
n condition :u condition-élémentaireu condition ET/OU condition ET ∧ OU ∨uNON condition NON ¬u ( condition )
![Page 9: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/9.jpg)
BDA.6.9
Condition de sélection - Exemples
n σ [ nom=capitale ] Pays
n Pays dont le nom est le même que celui de sa capitale
n σ [ (surface>100 ∧ surface<500) ∨ (population>30 ∧population<300) ] Pays
n Pays dont la surface est comprise entre 100 et 500 ou dont la population est comprise entre 30 et 300
![Page 10: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/10.jpg)
BDA.6.10
Sélection σ
n sémantique : crée une nouvelle relation de population l’ensemble des tuples de R qui satisfont la condition
n schéma (résultat) = schéma (opérande)
n population (résultat) ⊆ population (opérande)
![Page 11: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/11.jpg)
BDA.6.11
Projection π
n But : ne retenir que certains attributs dans une relation
Pays nom capitale population surfaceAutriche Vienne 8 83UK Londres 56 244Suisse Berne 7 41
On ne veut que les attributs nom et capitale :
Capitales = π [nom, capitale] Pays
Capitales nom capitaleAutriche VienneUK LondresSuisse Berne
![Page 12: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/12.jpg)
BDA.6.12
Projection π
n opération unaire
n syntaxe : π [attributs] Ru attributs : liste des attributs de R à conserver dans le résultat
n sémantique : crée une nouvelle relation de population l’ensemble des tuples de R réduits aux seuls attributs de la liste spécifiée
n schéma (résultat) ⊆ schéma (opérande)
n nb tuples (résultat) = nb tuples (opérande)
![Page 13: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/13.jpg)
BDA.6.13
Effet de bord de la projection
n Création et élimination de tuples en doubleuUne projection qui ne conserve aucun identifiant de la relation
peut générer dans le résultat des tuples identiques (à partir detuples différents de l’opérande)
u le résultat ne gardera que les tuples différents (fermeture)
R ( B , C, D)
b c da a ba a c
π [ B , C] R
b c a a
trois tuples deux tuples
![Page 14: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/14.jpg)
BDA.6.14
Expressions
n On veut les capitales des petits pays:u Petit-pays = σ [surface < 100] Pays
u Capitale-petit-pays = π [nom, capitale] Petit-pays
Capitale-petit-pays =
π [nom, capitale] σ [surface < 100] Pays
(Parties grise et beige à enlever)
nom capitale population surface
Irlande Dublin 3 70Autriche Vienne 8 83
UK Londres 56 244Suisse Berne 7 41
![Page 15: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/15.jpg)
BDA.6.15
Expressions - exemples
Surface-petit-pays =
π [nom, surface] σ [surface < 100] Pays
OU σ [surface < 100] π [nom, surface] Pays
Capitale-petit-pays =
π [nom, capitale] σ [surface < 100] Pays
MAIS σ [surface < 100] π [nom, capitale] Pays ERREUR !
π [nom, capitale] σ [surface < 100] π [nom, capitale, surface] Pays OK
![Page 16: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/16.jpg)
BDA.6.16
Renommage α
n but : résoudre des problèmes de compatibilité entre noms d’attributs de deux relations opérandes d’une opération binaire
n opération unairen syntaxe : α [nom_attribut1 -> nouveau_nom1, …] R
n sémantique : les tuples de R avec un (des) nouveau nom d'attribut
n schéma de α [n1–>m1, …, ni–>mi] R : le même schéma que R avec les attributs n1, … ni renommés en m1, … mi
n précondition : les nouveaux noms n’existent pas déjà dans Rn exemple : R2 = α [B–>C] R1
R1 A Ba by zb b
R2 A Ca by zb b
![Page 17: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/17.jpg)
BDA.6.17
Produit cartésien ×
n but : construire toutes les combinaisons de tuples de deux relations (en général, en vue d’une sélection)
n syntaxe : R × S
n exemple : R × S A Ba b a ba bb cb cb cc b c bc b
C D Ec d eb a ba a cc d eb a ba a cc d eb a ba a c
n x m tuples
A Ba bb cc b
C D Ec d eb a ba a c
R S
m tuplesn tuples
![Page 18: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/18.jpg)
BDA.6.18
Produit cartésien ×
n opération binaire
n sémantique : chaque tuple de R est combiné avec chaque tuple de S
n schéma : schéma (R × S) = schéma(R) ∪ schéma(S)
n précondition : R et S n’ont pas d’attributs de même nom (sinon, renommage des attributs avant de faire le produit)
![Page 19: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/19.jpg)
BDA.6.19
Jointure naturelle ou *
n but : créer toutes les combinaisons significatives entre tuples de deux relationsu significatif = ont la même valeur pour tous les attributs de
même nom
n précondition : les deux relations ont au moins un attribut de même nom
n exemple :
R A Ba bb cc b
S B C Db c da a bd a c
Aac
B C Db c db c d
R * S
![Page 20: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/20.jpg)
BDA.6.20
Jointure naturelle ou *
n opération binaire
n syntaxe : R * S
n sémantique : combine certains tuples
n schéma : schéma (R * S) = schéma (R) ∪ schéma (S)u les attributs de même nom n’apparaissent qu’une seule fois
n la combinaison exige l’égalité des valeurs de tous les attributs de même nom de R et de Su si R et S n’ont pas d’attributs de même nom la jointure peut
être dynamiquement remplacée par un produit cartésien
![Page 21: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/21.jpg)
BDA.6.21
Jointure naturelle - Exemple
n Pays (nom, capitale, population, surface, continent)
LangueParlée (langue, pays, %population)
n Pour chaque langue, dans quels continents est-elle parlée ?
n π [langue, continent] ( LangueParlée * α [nom –> pays] Pays )
![Page 22: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/22.jpg)
BDA.6.22
R A Ba bb cc b
S C D Eb c db a bc a c
R * [B ? C ] S
A B C D Ea b c a cb c b c db c b a bc b c a c
Theta jointure [c] ou *[c]
n but : créer toutes les combinaisons significatives entre tuples de deux relations u significatif = selon un critère de combinaison explicitement
défini en paramètre de l’opération (c)
n précondition : les deux relations n’ont pas d’attribut de même nom
n exemple : R * [B ? C] S
![Page 23: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/23.jpg)
BDA.6.23
Theta-jointure
n opération binaire
n syntaxe : R *[c] Su c : condition de jointure
n condition-élémentaire : attribut1 opérateur-de-comparaison attribut2u attribut1 est un attribut de la relation Ru attribut2 est un attribut de la relation S (ou vice-versa)u opérateur-de-comparaison : =, ? , <, >, =, =
n condition :u condition-élémentaireu condition ET/OU condition ET ∧ OU ∨
u NON condition NON ¬u ( condition )
![Page 24: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/24.jpg)
BDA.6.24
Theta-jointure (suite)
n sémantique : combine les tuples qui satisfont la condition
n schéma (R *[c] S) = schéma (R) ∪ schéma (S)
n Exemple :Pays (nom, capitale, population, surface, continent)LangueParlée (langue, pays, %population)
Pour chaque langue, dans quels continents est-elle parlée ?
π [langue, continent] ( LangueParlée *[nom = pays] Pays )
![Page 25: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/25.jpg)
BDA.6.25
Jointures : opérateurs dérivés
n R ( A, B, C )
n S (C, D, E )
n R*S = π [A, B, C, D, E] σ [CC=C] ((α [C–>CC] R) x S)
n Même chose pour la theta-jointure
![Page 26: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/26.jpg)
BDA.6.26
Union ∪
n opération binaire
n syntaxe : R ∪ S
n sémantique : réunit dans une même relation les tuples de R et ceux de S
n schéma(R ∪ S) = schéma(R) = schéma(S)
n précondition : schéma(R) = schéma(S)
n Exemple :
R1 A Ba bb by z
R2 A Bu vy z
R1 ∪ R2 A Ba bb by zu v
![Page 27: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/27.jpg)
BDA.6.27
Union (suite)
n Effet de bord : des tuples en double peuvent être créés.
n Ils sont automatiquement supprimés du résultat.
![Page 28: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/28.jpg)
BDA.6.28
Intersection ∩
n opération binaire
n syntaxe : R ∩ S
n sémantique : sélectionne les tuples qui sont à la fois dans R et S
n schéma (R ∩ S) = schéma (R) = schéma (S)
n précondition : schéma (R) = schéma (S)
n Exemple :
R1 A Ba by zb b
R2 A Bu vy z
R1 ∩ R2 A By z
![Page 29: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/29.jpg)
BDA.6.29
Différence -
n opération binaire
n syntaxe : R − S
n sémantique : sélectionne les tuples de R qui ne sont pas dans S
n schéma (R − S) = schéma (R) = schéma (S)
n précondition : schéma (R) = schéma (S)
n Exemple :
R1 A Ba by zb b
R2 A Bu vy z
R1 − R2 A Ba bb b
![Page 30: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/30.jpg)
BDA.6.30
Intersection : opérateur dérivé
n R ∩ S = R - (R - S)
R S populations
R-S
R∩S
![Page 31: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/31.jpg)
BDA.6.31
La division /
n But : traiter les requêtes du genre «les … tels que TOUS les …»
n Soient R(A1, …, An) et V(A1, …, Am) avec n>m et A1, …, Am des attributs de même nomdans R et V
n R/V = les tuples de R réduits aux attributs Am+1, …, Antels qu'ils existent dans R concaténés à tous les
tuples de V
n R/V = { <am+1, am+2, …, an> / ∀<a1, a2, …, am> ∈V ∃<a1, a2, …, am ,am+1, am+2, …, an> ∈R }
![Page 32: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/32.jpg)
BDA.6.32
La division - exemples
R A B C1 1 11 2 01 2 11 3 02 1 12 3 33 1 13 2 03 2 1
V B C1 1 2 0
R/V A13
V’ B C1 1
R/V’ A123
V’’ B C3 5
R/V’’ A/
![Page 33: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/33.jpg)
BDA.6.33
Exemple de division
R/V : Etudiants ayant tous les prérequis
PierreFrancoisETUDIANT
R/V
SIAnnie
SIFrançois
BDAnnie
MathAnnie
ProgPierre
BDPierre
ProgFrancois
BDFrancoisCOURSETUDIANT
Prog
BD
COURS
R : Obtenu V : Prérequis
![Page 34: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/34.jpg)
BDA.6.34
Division - opérateur dérivé
n R(A1, …, An) et V(A1, …, Am) avec n>m
n R / V = π[Am+1, …, An)] R -
π[Am+1, …, An)] ( ( (π[A1, …, Am)]R) x V ) - R )
![Page 35: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/35.jpg)
BDA.6.35
Propriétés des opérateurs
n R ∩ S = S ∩ R (commutativité)
n R * S = S * R
n …
n σ [p1] (σ [p2] R) = σ [p2] (σ [p1] R) = σ [p2 ∧ p1] R
n σ [p] (π [a] R) = π [a] (σ [p] R) si attributs(p) ⊆ a
n …
Utilité : optimisation des expressionsu faire les sélections et projections le plus tôt possible
pour réduire le volume des relations opérandes
![Page 36: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/36.jpg)
BDA.6.36
Optimiseur de requêtes
1) Traduction enexpression algébrique
2) Optimisation de l'expression algébrique
3) Exécution des opérations de l'algèbre
Base de données
SELECT …FROM …WHERE ...
SGBD
![Page 37: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/37.jpg)
BDA.6.37
Exemples de requêtes algébriques
n Soient les relations suivantes :
Journal (code-j, titre, prix, type, périodicité)
Dépôt (no-dépôt, nom-dépôt, adresse)
Livraison (no-dépôt, code-j, date-liv, quantité-livrée)
![Page 38: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/38.jpg)
BDA.6.38
Répondre aux requêtes suivantes :
n Quel est le prix des journaux ?
π [titre, prix] Journal
n Donnez tous les renseignements connus sur les journaux hebdomadaires
σ [périodicité = "hebdomadaire"] Journal
![Page 39: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/39.jpg)
BDA.6.39
Répondre aux requêtes suivantes (2)
n Donnez les codes des journaux livrés aux dépots de Bienne
π [code-j] ( σ [adresse = "Bienne"] Dépôt * Livraison)
Dépôt (no-dépôt, nom-dépôt, adresse)
Livraison (no-dépôt , code-j, date-liv, quantité-livrée)
Bienne
?
![Page 40: L’algèbre - HEC UNIL · 2004. 11. 3. · BDA.6.4 L’approche algèbrique n Une algèbre est un ensemble d’opérateurs de base, formellement définis, qui peuvent être combinés](https://reader035.vdocuments.pub/reader035/viewer/2022070217/6121579bc48afc05403077d7/html5/thumbnails/40.jpg)
BDA.6.40
n Donnez les numéros des dépots qui reçoivent plusieurs journaux
Répondre aux requêtes suivantes (3)
π [no-dépôt] (α [ no-dépôt -> dépôt2 , code-j -> code2] Livraison
* [code-j ≠ code2 ∧ no-dépôt=dépôt2] π [no-dépôt, code-j] Livraison )
Livraison (no-dépôt , code-j, date-liv, quantité-livrée)
Livraison (no-dépôt , code-j, date-liv, quantité-livrée)?
= ?