Académique Documents
Professionnel Documents
Culture Documents
Introduction
Oprateurs Algbriques
Oprateurs de lAR
Oprateurs ensemblistes traditionnels Binaires :
Union Intersection Diffrence Produit cartsien Slection Projection Jointure Anti-projection Division
Cest une collection d'oprateurs ensemblistes agissant sur des relations et produisant toujours une nouvelle relation Lalgbre relationnelle est la base de SQL Les oprateurs de lAR se rpartissent en deux groupes : Les oprateurs ensemblistes traditionnels Les oprateurs particuliers aux BDR
27/10/2011 15:52 J. FEKI FSEG-Sfax (Version 1.0)
89
Oprateurs Algbriques
Oprateurs Classiques
Oprateurs de lAR
Relations compatibles (de mme schma)
Soient 2 relations R1(A1, An) et R2 (B1, Bn) R1 et R2 sont compatibles ssi : 1. Degr(R1) = Degr(R2) et 2. Dom(Ai) = Dom (Bi) i [1..n]
Union ()
Dfinition Lunion de 2 relations R1 et R2 produit une relation R3 de mme schma contenant les n-uplets appartenant R1 ou R2 ou aux deux relations (sans duplication). Pr-condition : R1 et R2 compatibles Notation symbolique : R3 R1 R2 Exemple
Si R1 et R2 de schma (Nvoit, Marque, Puissance) tel que R1 : Voiture de marque Peugeot R2 : Voiture de Puissance 5CV Alors R3 : . Voitures de marque Peugeot ou 91 27/10/2011 15:52 J. FEKI FSEG-Sfax (Version 1.0) Renault
Exemple
R1 NOETUD
Mme domaine
NOM_ET
Mme domaine
PRENOM_ET
Mme domaine
R2 NOET
NOM
PRENOM
90
27/10/2011
Oprateurs Classiques
Oprateurs Classiques
Union () : Exemple
Soient R1 et R2 des produits stocks dans 2 dpts diffrents
R1
NP P2 P1 LibP Prise Coul Blanc Robinet Gris
Union ()
Notation graphique R3
NP LibP Cble Peinture Robinet Coul Gris Blanc Noir Rouge Si |R1|= n1 et |R2| =n2 Alors |R3| ??? |R3| = ???
92
R2
Couleur Noir Rouge Gris
P4 P3 P2
R2
A1, An | * | R1.* R1 B1, Bn | * | R2.* R2 ;
93
R3
R1 R2
P2 P1 P4 P3
NP
27/10/2011 15:52
Oprateurs Classiques
Oprateurs Classiques
Intersection ()
Dfinition Lintersection de 2 relations R1 et R2 produit une relation R3 de mme schma contenant les n-uplets communs R1 et R2 Pr-condition : R1 et R2 compatibles Notation symbolique : R3 R1 R2 Exemple
Si R1 et R2 de schma (Nvoit, Marque, Puissance) tel que R1 : Voiture de marque Peugeot R2 : Voiture de puissance 5 CV Alors R3 : .. Voitures de marque Peugeot et de
27/10/2011 15:52
Intersection () : Exemple
Soient R1 et R2 des produits stocks dans 2 dpts diffrents
R1
NP P2 P1 LibP Prise Coul Blanc Robinet Gris
R2
NP P4 P3 P2 LibP Cble Peinture Robinet Coul Gris Si |R1|= n1 et |R2| =n2 Alors |R3| ??? Couleur Noir Rouge Gris
R3
R1 R2
P2
NP
LibP Robinet
puissance 5 CV
94
95
27/10/2011 15:52 J. FEKI FSEG-Sfax (Version 1.0)
27/10/2011
Oprateurs Classiques
Oprateurs Classiques
Intersection ()
Notation graphique R3 R1 Notation par langage
SELECT FROM INTERSECT SELECT FROM
27/10/2011 15:52
Diffrence ()
Dfinition La diffrence de deux relations R1 et R2 (dans lordre R1 R2) produit une relation R3 de mme schma contenant les n-uplets de R1 napparaissant pas dans R2. Pr-condition : R1 et R2 compatibles Notation symbolique : R3 R1 R2 Exemple
Si R1 et R2 de schma (Nvoit, Marque, Puissance) tel que R1 : Voiture de marque Peugeot R2 : Voiture de puissance 5CV Alors R3 : . Voitures de marque Peugeot et de puissance
96
27/10/2011 15:52
R2
A1, An | * | R1.* R1 B1, Bn | * | R2.* R2 ;
autre que 5 CV
97
Oprateurs Classiques
Oprateurs Classiques
Diffrence () : Exemple
Soient R1 et R2 des produits stocks dans 2 dpts diffrents
R1
NP P2 P1 LibP Prise Coul Blanc Robinet Gris
Diffrence ()
Notation graphique R3
LibP Couleur Noir Rouge Gris
R2
NP P4 P3 P2 Cble Peinture Robinet
R2
A1, An R1 B1, Bn R2 ;
99
R3
NP P1
R1 R2
LibP Prise Coul Blanc
R3
NP P4 P3
R2 R1
LibP Cble Peinture Couleur Noir Rouge
Alors
|R3|
n1 et |R3|
n2
27/10/2011
Oprateurs Classiques
Oprateurs Classiques
Produit (x)
Dfinition Le produit de deux relations R1 et R2 produit une relation R3 dont le schma est la concatnation des deux schmas de R1 et R2 contenant les (n+k)uplets obtenus en associant chaque n-uplet de R1 avec chaque k-uplet de R2. Pr-condition : Aucune (R1, R2 de schmas quelconques) Notation symbolique : R3 R1 x R2
D a x u u
R1 x R2
27/10/2011 15:52
Oprateurs Classiques
Oprateurs Particuliers
Produit (x)
Notation graphique R3 X R1 Notation par langage
SELECT FROM A1, An, B1, Bk R1, R2 ;
x R1
(ou R
R1 [X])
27/10/2011 15:52
102
27/10/2011 15:52
103
27/10/2011
Oprateurs Particuliers
Oprateurs Particuliers
Projection () : Exemple
Lister toutes les couleurs diffrentes des produits
NP P1 P3 P2 P4 LibP . . . . Coul Gris Blanc Blanc Blanc Coul Gris Blanc Poids . . . . PU . . . . Qtes . . . .
Soit X = A, B
(Coul)Produit
R1
Le trapze matrialise lopration rduction des colonnes.
105
Oprateurs Particuliers
Oprateurs Particuliers
Slection de lignes ()
Dfinition La slection extrait dune relation R les lignes vrifiant un prdicat p. Notation symbolique : R
p R1
ou
Sp (R1)
Le prdicat p peut tre simple ou compos, il utilise: les attributs exclusivement de R, des constantes, oprateurs de comparaison (=, >, <, !=, <=, >= ) oprateurs logiques (ET , OU , NOT) toute combinaison valide
Exemple
27/10/2011 15:52 J. FEKI FSEG-Sfax (Version 1.0)
27/10/2011 15:52
27/10/2011
Oprateurs Particuliers
Oprateurs Particuliers
R1
Le trapze invers matrialise lopration rduction des lignes.
A1, A2, An R1 p ;
108
Exemple
27/10/2011 15:52 J. FEKI FSEG-Sfax (Version 1.0)
109
Oprateurs Particuliers
Oprateurs Particuliers
Jointure ( )
Notation graphique R
p
R2 | *
CMDE
C1 C2 C3 C4
27/10/2011 15:52
(Cmde.NCLIENT =CLT.NCL)
CLT
NOMCL Batam BIAS AMS Batam
NCMD
SELECT A1, A2, An, B1, A2, Bk FROM WHERE R1, R2 p ; Alors |R| n1 * n2
111
27/10/2011
Oprateurs Particuliers
Oprateurs Particuliers
-jointure (theta-jointure)
On parle de -jointure lorsque loprateur = est remplac par un autre oprateur de comparaison
Semi-jointure
Elle
sobtient en ne gardant que les lignes de R correspondant soit R1 (semi-jointure gauche) soit R2 (semi-jointure droite)
J. FEKI FSEG-Sfax (Version 1.0)
27/10/2011 15:52
112
113
Oprateurs Particuliers
Oprateurs Particuliers
R1
Construire pour chaque attribut Ai de R1 son domaine dans une relation de travail DAi par projection de R1 sur Ai : DAi R1[Ai] Calculer le produit cartsien P de tous les domaines DAi en respectant le schma de R1 Calculer la diffrence P - R1
114
27/10/2011 15:52
115
27/10/2011
Oprateurs Particuliers
Oprateurs Particuliers
Anti-Projection ( ] X [ )
Dfinition Elle se fait sur un (ou plusieurs) attribut(s) dune relation R(A1,..Ai ,An) et selecte les valeurs de cet(ces) attribut(s) qui apparai(ssen)t dans R avec toutes les combinaisons du produit cartsien des domaines des autres attributs de R. Notation symbolique Exemple (diapo suivante) R1 ] A1,..Ai [
Anti-Projection ( ] X [ )
Exemple
R PIECE
VIS BOULON ECROU VIS BOULON
R]FOURN[ =
FOURN
PIERRE PAUL PIERRE PAUL PIERRE
FOURN PIERRE
Interprtation Dans R, PIERRE apparat avec toutes les valeurs du Dom(Pice), i.e., {PIERRE} x Dom(Pice) R. PIERRE est un fournisseur de TOUTES les pices.
27/10/2011 15:52
116
27/10/2011 15:52
117
Oprateurs Particuliers
Oprateurs Particuliers
Anti-Projection ( ] X [ )
Notation graphique R
X
Division ( )
Lanti-projection R(X,Y) ]X[ utilise toutes les valeurs de Y (i.e., Dom(Pice)). Supposons que lon veuille raliser cette opration pour un sous ensemble particulier de Y (i.e., quelques pices), on fera alors appel un oprateur plus gnral : La division algbrique. Dfinition La division de la relation D(X, Y) par V(Y) est une relation Q(X) contenant tous les tuples issus de D (par projection sur X) qui concatns avec chacun des tuples de V redonne toujours un tuple de D.
(Version simplifie de la division o Degr(D)= 2 et Degr(V)=1)
27/10/2011 15:52 J. FEKI FSEG-Sfax (Version 1.0)
R1
Restreindre les valeurs de chaque domaine de R1 aux valeurs apparaissant dans R1.
27/10/2011 15:52 J. FEKI FSEG-Sfax (Version 1.0)
118
119
27/10/2011
Oprateurs Particuliers
Oprateurs Particuliers
Division ( )
Notation symbolique R1 Exemple
D S
s1 s1 s1 s1 s1 s1 s2 s2 s3 s4 s4 s4
27/10/2011 15:52
Division ( )
D(X,Y) V(Y) ou DIV(D,V)
Exemple 2 Exemple 3
P
p1 p2 p3 p4 p5 p6 p1 p2 p2 p2 p4 p5
Exemple 1
P
p1 p2 p3 p4 p5 p6 p1 p2 p2 p2 p4 p5
Exemple 1
P p1
P p1
P p2 p4
P p1 p2 p3 p4 p5 p6
S s1 s2
S 1
120
121
Oprateurs Particuliers
Oprateurs Particuliers
Division ( )
Notation symbolique R1 Exemple
D S
s1 s1 s1 s1 s1 s1 s2 s2 s3 s4 s4 s4
27/10/2011 15:52
Division ( )
D(X,Y) V(Y) ou DIV(D,V)
Exemple 2 Exemple 3
P
p1 p2 p3 p4 p5 p6 p1 p2 p2 p2 p4 p5
Exemple 1
P p1
P p2 p4
P p1 p2 p3 p4 p5 p6
Interprtation smantique Si D(S, P) dcrit lapprovisionnement alors Q(S) = D(S, P) V(P) dtermine les fournisseurs tels que chacun deux fournit toutes les pices de la table V (qui est en fait un sous ensembles des pices de D). Notation graphique R3 Notation par langage
Proposez
Mthode 1 ? - Mthode 2 ??
J. FEKI FSEG-Sfax (Version 1.0)
S s1 s2
S s1 s4
S s1
R1
R2
- Mthode 3 ??? 123
122
27/10/2011 15:52
27/10/2011
Oprateurs Particuliers
Redondance de lAR
Lalgbre relationnelle est redondante :
La jointure
Slection sur le produit cartsien des 2 relations.
Lintersection
Exprime par la diffrence
La division
Lanti-projection est un cas particulier de la division Ces proprits indiquent que les oprateurs examins ne sont pas primitifs, puisque les uns peuvent tre exprims en fonction des autres. Cette redondance est voulue et a pour but doffrir plus dalternatives quant lutilisation du LMD.
27/10/2011 15:52 J. FEKI FSEG-Sfax (Version 1.0)
124
10