Cours de Base de Donn ´ees Cours n.3
Alg `ebre relationnelle
L2 Informatique - Portail Siences et Technologies
Elisabetta De Maria - http://www.i3s.unice.fr/∼edemaria/
DS4H et Laboratoire I3S, CNRS
2022-2023 Universit ´e C ˆote d’Azur
Alg `ebre relationnelle
• Langage proc ´edural : indique comment construire une nouvelle relation `a partir d’une ou plusieurs relations existantes
• Langage abstrait, avec des op ´erations qui travaillent sur une (ou plusieurs) relation(s) pour d ´efinir une nouvelle relation sans changer la (ou les) relation(s) originale(s)
• le r ´esultat de toute op ´eration est une relation (propri ´et ´e de fermeture)
Les op ´erations de l’alg `ebre relationnelle
Les cinq op ´erations fondamentales
• s ´election
• projection
• produit cart ´esien
• union
• diff ´erence
Autres op ´erations
• jointure
• intersection
• division
• ...
Op ´erateurs alg ´ebriques
Op ´erateurs ensemblistes
• union
• intersection
• difference
• produit
Op ´erateurs relationnels sp ´ecifiques
• s ´election
• projection
• jointure
• division
Tables d’exemple
• CLIENT(num ´ero, nom, adresse, t ´el ´ephone)
• PRODUIT (r ´ef ´erence, marque, prix)
• VENTE(num ´ero, ref produit#, no client#, date)
numéro nom adresse téléphone 101 Durand Nice 0493939393 106 Fabre Paris NULL 110 Prosper Paris NULL 125 Antonin Marseille 0491919191
référence marque prix numéro ref_produit# no_client# date
153 BMW 8 000 € 102 153 101 12/10/2004
589 Peugeot 7 450 € 809 589 108 20/01/2005
158 Toyota 6 725 € 11005 158 108 15/03/2005
589 Citroën 7 000 € 12005 589 125 30/03/2005
Client
Vente Produit
Op ´erations unaires
SoitR(a1,a2, ...,aN)une relation.
S ´election :σpredicat(R)
La s ´election travaille surRet d ´efinit une relation qui ne contient que les tuples deRqui satisfont `a la condition (ou pr ´edicat) sp ´ecifi ´ee.
Projection :πa1,...,ak(R)
La projection travaille surRet d ´efinit une relation restreinte `a un sous-ensemble des attributs deR, en extrayant les valeurs des attributs sp ´ecifi ´es et en supprimant les doublons.
Op ´erations ensemblistes (1)
SoientR(a1, ...,aN)etS(b1, ...,bM)deux relations.
Union : R∪S
L’union de deux relationsR etSd ´efinit une relation qui contient tous les tuples deR, deSou `a la fois deRetS, les tuples en double ´etant ´elimin ´es.
Diff ´erence d’ensembles :R−S
La diff ´erence d’ensemble d ´efinit une relation qui comporte les tuples qui existent dans la relationRet non dans la relationS.
Intersection :R∩S
L’intersection d ´efinit une relation constitu ´ee de l’ensemble de tous les tuples pr ´esents `a la fois dansR et dansS.
Relations compatibles envers l’union
Op ´erations ensemblistes (2)
Produit cart ´esien :R×S
Le produit cart ´esien d ´efinit une relation constitu ´ee de la concatenation de tous les tuples de la relationRavec tous ceux de la relationS
Relations de schemas quelconques
Op ´erations de jointure
Jointure th ˆeta (θ-join) :R ./P S
La th ˆeta-jointure d ´efinit une relation qui contient les tuples qui satisfont le pr ´edicatPdu produit cart ´esien deRetS. Le pr ´edicatP est de la formeR.aiθS.bj o `uθest l’un des op ´erateurs de comparaison (<,≤,>,≥,=,6=).
Si le pr ´edicatPest l’ ´egalit ´e (=), on parle d’´equijointure Jointure naturelle :R∗S
La jointure naturelle est une ´equijointure des relationsR etS sur tous les attributs communs en retirant les occurrences multiples d’attributs.
Op ´eration de division
Supposons que la relationRsoit d ´efinie sur l’ensemble d’attributsAet que la relationSsoit d ´efinie sur l’ensemble d’attributsB, de telle sorte queB ⊆A. SoitC=A−B.
DivisionR÷S
La division d ´efinit une relation sur les attributsC, constitu ´ee de l’ensemble des tuples deRqui correspondent `a la combinaison detous lestuples deS.
• T1=πC(R)
• T2=πC((S×T1)−R)
• T =T1−T2
Autres jointures
Jointure externe (gauche) entreRetS
La jointure externe gauche est une jointure dans laquelle les tuples de la relationRqui n’ont pas n ´ecessairement de valeur correspondente dansSparmi les attributs communs deRetS, sont ´egalement inclus dans la relation r ´esultante. Les valeurs manquantes dans la seconde relation sont mises `a nul.
• Jointure externe droite: le r ´esultat conserve tous les tuples de la relation de droite
• Jointure externe complete: le r ´esultat reprend tous les tuples de deux relations et remplit de nuls les attributs absents pour tous les cas de non-correspondence Semi-jointure entreRetS
La semi-jointure d ´efinit une relation qui contient les tuples deR qui participent `a la jointure deR avecS.