La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti Algoritmo di Query Optimization.

Presentazioni simili


Presentazione sul tema: "Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti Algoritmo di Query Optimization."— Transcript della presentazione:

1

2 Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti Algoritmo di Query Optimization

3 Giugno-Pulvirenti AA Espressione Algebrica di Query LAlgebra Relazionale può essere utilizzata come linguaggio per interrogare una base di dati.

4 Giugno-Pulvirenti AA Equivalenza di espressioni Due espressioni sono equivalenti se producono lo stesso risultato qualunque sia l'istanza attuale della base di dati L'equivalenza è importante in pratica perché i DBMS cercano di eseguire espressioni equivalenti a quelle date, ma meno "costose"

5 Giugno-Pulvirenti AA Un'equivalenza importante Push selection (se A è attributo di R 2 ) SEL A=10 (R 1 JOIN R 2 ) = R 1 JOIN SEL A=10 ( R 2 ) Riduce in modo significativo la dimensione del risultato intermedio (e quindi il costo dell'operazione)

6 Giugno-Pulvirenti AA Esempio di Query Consideriamo lesempio del database degli studenti costituito dalle tre tabelle Studenti, Esami, Corsi. Supponiamo che vogliamo trovare tutti i professori che hanno dato a Mario Rossi piu di 27. Professore Nome=Mario Rossi& Voto>27 (Studenti Esami Corsi)

7 Giugno-Pulvirenti AA Query Optimization La stessa query – P Nome=Mario Rossi& Voto>27 (Studenti Esami Corsi) può essere espressa come – P ( Nome=Mario Rossi Studenti ( Voto>27 Esami Corsi)) Che risulta essere molto più efficiente!

8 Giugno-Pulvirenti AA Regole per la query optimization Anticipare lapplicazione delle proiezioni e delle restrizioni rispetto al prodotto (e quindi alle giunzioni), in modo da ridurre la dimensione delle tabelle a cui applicare il prodotto (e le giunzioni). Le seguenti regole possono essere utilmente utilizzate per lottimizzazione di espressioni:

9 Giugno-Pulvirenti AA Regole sulla restrizione 1.Raggruppamento di restrizioni a. C(X) ( C(Y) (E))= C(X)&C(Y) (E) 2.Commutativita di e a. C(X) ( Y (E))= Y ( C(X) (E)),se X Y; b. Y ( C(X) ( XY (E)))= Y ( C(X) (E))se X Y.

10 Giugno-Pulvirenti AA Restrizione e Prodotto 3.Anticipazione di rispetto a. a. C(X) (E F)= C(X) (E) F, se X attr(E). b. C(X)&C(Y) (E F)= C(X) (E) C(Y) (F), se X attr(E), Y attr(F). c. C(X)&C(Y)&C(Z) (E F)= C(Z) ( C(X) (E) C(Y) (F)), se X attr(E), Y attr(F), Z attr(E), Z attr(F)

11 Giugno-Pulvirenti AA Regole per la proiezione 4.Raggruppamento di proiezioni. a. X ( Y (E))= X (E), se X Y. 5.Eliminazione di proiezioni superflue. a. X (E)=E, se X = attr.(E). 6.Anticipazione della rispetto a. a. XY (E F)= X (E) Y (F), se X attr(E), Y attr.(F).

12 Giugno-Pulvirenti AA LALGORITMO Si applicano le seguenti tre regole (per anticipare la selezione) finché è possibile A.Si anticipa rispetto a usando la 2.a C(X) ( Y (E))= Y ( C(X) (E)),se X Y; B.Si raggruppano le restrizioni usando la 1 C(X) ( C(Y) (E))= C(X)&C(Y) (E). C.Si anticipa lesecuzione di su usando la 3.

13 Giugno-Pulvirenti AA Anticipazione delle proiezioni D.Si eliminano le proiezioni superflue usando la 5 X (E)=E, se X = attr.(E).. E.Si raggruppano le proiezioni mediante la regola 4 X ( Y (E))= X (E), se X Y.. F.Si anticipa lesecuzione delle proiezioni rispetto al prodotto usando ripetutamente la 2 [Commutativita di e ] (quando E è un prodotto, da destra verso sinistra) e la 6 [Anticipazione della rispetto a ].

14 Giugno-Pulvirenti AA Dato lo schema: impiegato(i_id, i_nome, eta, stipendio); dipartimento(d_id, d_nome, budget, manager_id); lavora(i_id, d_id, perc_tempo); Per ogni impiegato indicare il nome di tutti i suoi manager.

15 Giugno-Pulvirenti AA Indicare il nome di tutti i dipartimenti con più di 10 impiegati.

16 Giugno-Pulvirenti AA Nome ed età di tutti gli impiegati che lavorano sia in Amministrazione che in Contabilità (Nota che possono lavorare anche in altri dipartimenti oltre i due indicati).

17 Giugno-Pulvirenti AA Nome di tutti i manager che lavorano in più di un dipartimento ed indicare il numero di dipartimenti per cui lavorano.

18 Giugno-Pulvirenti AA Nome di tutti i dipendenti che lavorano solo per un dipartimento


Scaricare ppt "Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti Algoritmo di Query Optimization."

Presentazioni simili


Annunci Google