Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 1 Equivalenza di Espressioni Algebriche Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 2 Introduzione L equivalenza di espressioni dell algebra relazionale viene sfruttata nella fase di ottimizzazione algebrica delle interrogazioni: le interrogazioni formulate nel linguaggio SQL vengono tradotte in espressioni (equivalenti) dell algebra relazionale il costo dell esecuzione di un interrogazione viene valutato in termini delle dimensioni dei risultati intermedi (della valutazione dell espressione dell algebra relazionale); in presenza di varie espressioni alternative equivalenti, viene scelta quella con costo minore Vengono utilizzate delle trasformazioni di equivalenza: operazioni che sostituiscono un espressione con un altra a essa equivalente
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 3 Equivalenze assolute e dipendenti dallo schema Diversi tipi di equivalenza: (1) Equivalenza dipendente dallo schema. E 1 R E 2 se E 1 (r) = E 2 (r) per ogni r R (2) Equivalenza assoluta (non dipendente dallo schema). E 1 E 2 se E 1 R E 2 per ogni schema R Un esempio di equivalenza assoluta: Π AB (σ A>0 (R 1 )) σ A>0 (Π AB (R 1 )) Un esempio di equivalenza dipendente dallo schema: Π AB (R 1 ) Π AC (R 2 ) R Π ABC (R 1 R 2 ) che vale se e solo se in R l intersezione tra gli insiemi di attributi di R 1 e di R 2 è pari ad A.
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 4 Un primo insieme di trasformazioni - 1 Atomizzazione delle selezioni: una congiunzione di selezioni può essere sostituita da una sequenza di selezioni atomiche con E espressione qualsiasi. σ F1 F 2 (E) σ F2 (σ F1 (E)) Idempotenza delle proiezioni: una proiezione può essere trasformata in una sequenza di proiezioni che eliminano i vari attributi in varie fasi π X (E) π X (π XY (E)) con E espressione definita su un insieme di attributi che contiene X e Y.
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 5 Un primo insieme di trasformazioni - 2 Anticipazione della selezione rispetto al join (pushing selections down): σ F (E 1 E 2 ) E 1 σ F (E 2 ) se la condizione F coinvolge solo attributi della sottoespressione E 2. Anticipazione della proiezione rispetto al join (pushing projections down): π X1 Y 2 (E 1 E 2 ) E 1 π Y2 (E 2 ) con E 1 definita su X 1, E 2 definita su X 2, Y 2 X 2 e (X 1 X 2 ) Y 2 (gli attributi di X 2 \ Y 2 non sono coinvolti nel join).
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 6 Una trasformazione derivata Combinando la regola di anticipazione della proiezione rispetto al join con la regola di idempotenza delle proiezioni, si ottiene la seguente regola derivata (che elimina da subito gli attributi che non sono coinvolti nel join e non compaiono nel risultato finale): π Y (E 1 F E 2 ) π Y (π Y1 (E 1 ) F π Y2 (E 2 )) dove, assumendo che E 1 sia definita su X 1, E 2 sia definita su X 2 e J 1 (rispettivamente J 2 ) sia il sottoinsieme di X 1 (rispettivamente X 2 ) coinvolto nell operazione di join, si ha che: Y 1 = (X 1 Y ) J 1 Y 2 = (X 2 Y ) J 2
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 7 Un esempio - 1 Interrogazione: trovare i nomi dei dipartimenti il cui manager guadagna più di 80000 euro. Soluzione non ottimizzata: π DNOME (σ CF =MANAGER ST IP ENDIO>80000 (IMP IEGAT O DIP ART IMENT O)) che si può riscrivere come: π DNOME (σ CF =MANAGER (σ ST IP ENDIO>80000 (IMP IEGAT O DIP ART IMENT O)))
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 8 Un esempio - 2 La precedente espressione può a sua volta essere riscritta nel modo seguente: π DNOME (σ ST IP ENDIO>80000 (IMP IEGAT O) CF =MANAGER DIP ART IMENT O) che può a sua volta essere riscritta come: π DNOME (π CF (σ ST IP ENDIO>80000 (IMP IEGAT O)) CF =MANAGER DIP ART IMENT O) P.S. La regola derivata descritta in precedenza potrebbe essere utilizzata per ridurre da subito le dimensioni delle due relazioni..
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 9 Un secondo insieme di trasformazioni - 1 Distributività della selezione rispetto all unione: σ F (E 1 E 2 ) σ F (E 1 ) σ F (E 2 ) Distributività della selezione rispetto alla differenza: σ F (E 1 \ E 2 ) σ F (E 1 ) \ σ F (E 2 ) Distributività della proiezione rispetto all unione: π X (E 1 E 2 ) π X (E 1 ) π X (E 2 ) Non vale la distributività della proiezione rispetto alla differenza. Ad esempio, date R 1 (A, B) e R 2 (A, B) π A (R 1 \ R 2 ) π A (R 1 ) \ π A (R 2 ) non vale se R 1 e R 2 contengono tuple uguali su A e diverse su B
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 10 Un secondo insieme di trasformazioni - 2 Trasformazioni basate sulla corrispondenza tra operatori insiemistici e selezioni complesse: σ F1 F 2 (R) σ F1 (R) σ F2 (R) σ F1 F 2 (R) σ F1 (R) σ F2 (R) σ F1 (R) σ F2 (R) σ F1 (F 2 )(R) σ F1 (R) \ σ F2 (R) Proprietà distributiva del join rispetto all unione: E 1 (E 2 E 3 ) (E 1 E 2 ) (E 1 E 3 ) N.B. Risultati intermedi vuoti (relazioni prive di tuple) permettono di semplificare le espressioni (join/prodotto cartesiano con la relazione vuota come uno degli operandi producono quale risultato la relazione vuota).