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. E1 ≡R E2 se E1 (r) = E2 (r) per ogni r ∈ R (2) Equivalenza assoluta (non dipendente dallo schema). E1 ≡ E2 se E1 ≡R E2 per ogni schema R Un esempio di equivalenza assoluta: ΠAB (σA>0 (R1 )) ≡ σA>0 (ΠAB (R1 )) Un esempio di equivalenza dipendente dallo schema: ΠAB (R1 ) ./ ΠAC (R2 ) ≡R ΠABC (R1 ./R2 ) che vale se e solo se in R l’intersezione tra gli insiemi di attributi di R1 e di R2 è 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 σF1 ∧F2 (E) ≡ σF2 (σF1 (E)) con E espressione qualsiasi. 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 (E1 ./ E2 ) ≡ E1 ./ σF (E2 ) se la condizione F coinvolge solo attributi della sottoespressione E2 . Anticipazione della proiezione rispetto al join (pushing projections down): πX1 Y2 (E1 ./ E2 ) ≡ E1 ./ πY2 (E2 ) con E1 definita su X1 , E2 definita su X2 , Y2 ⊆ X2 e (X1 ∩ X2 ) ⊆ Y2 (gli attributi di X2 \ Y2 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 (E1 ./F E2 ) ≡ πY (πY1 (E1 ) ./F πY2 (E2 )) dove, assumendo che E1 sia definita su X1 , E2 sia definita su X2 e J1 (rispettivamente J2 ) sia il sottoinsieme di X1 (rispettivamente X2 ) coinvolto nell’operazione di join, si ha che: Y1 = (X1 ∩ Y ) ∪ J1 Y2 = (X2 ∩ Y ) ∪ J2 & % 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: πDN OM E (σCF =M AN AGER∧ST IP EN DIO>80000 (IM P IEGAT O ./ DIP ART IM EN T O)) che si può riscrivere come: πDN OM E (σCF =M AN AGER (σST IP EN DIO>80000 (IM P IEGAT O ./ DIP ART IM EN T 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: πDN OM E (σST IP EN DIO>80000 (IM P IEGAT O) ./CF =M AN AGER DIP ART IM EN T O) che può a sua volta essere riscritta come: πDN OM E (πCF (σST IP EN DIO>80000 (IM P IEGAT O)) ./CF =M AN AGER DIP ART IM EN T 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 (E1 ∪ E2 ) ≡ σF (E1 ) ∪ σF (E2 ) Distributività della selezione rispetto alla differenza: σF (E1 \ E2 ) ≡ σF (E1 ) \ σF (E2 ) Distributività della proiezione rispetto all’unione: πX (E1 ∪ E2 ) ≡ πX (E1 ) ∪ πX (E2 ) Non vale la distributività della proiezione rispetto alla differenza. Ad esempio, date R1 (A, B) e R2 (A, B) πA (R1 \ R2 ) 6≡ πA (R1 ) \ πA (R2 ) non vale se R1 e R2 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 ∨F2 (R) ≡ σF1 (R) ∪ σF2 (R) σF1 ∧F2 (R) ≡ σF1 (R) ∩ σF2 (R) ≡ σF1 (R) ./ σF2 (R) σF1 ∧¬(F2 ) (R) ≡ σF1 (R) \ σF2 (R) Proprietà distributiva del join rispetto all’unione: E1 ./ (E2 ∪ E3 ) ≡ (E1 ./ E2 ) ∪ (E1 ./ E3 ) 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). & %