La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DB -Algebra Relazionale 1 ALGEBRA RELAZIONALE DB -Algebra Relazionale2 LINGUAGGI PER MODELLI RELAZIONALI Algebrici: una query è definita da unespressione.

Presentazioni simili


Presentazione sul tema: "DB -Algebra Relazionale 1 ALGEBRA RELAZIONALE DB -Algebra Relazionale2 LINGUAGGI PER MODELLI RELAZIONALI Algebrici: una query è definita da unespressione."— Transcript della presentazione:

1

2 DB -Algebra Relazionale 1 ALGEBRA RELAZIONALE

3 DB -Algebra Relazionale2 LINGUAGGI PER MODELLI RELAZIONALI Algebrici: una query è definita da unespressione algebrica sulle relazioni dello schema Logici: una query è definita da una formula della logica del primo ordine; in particolare se è una collezione di formule di Horn senza funzioni si ha il Datalog

4 DB -Algebra Relazionale3 ESEMPIO DI QUERY

5 DB -Algebra Relazionale4 OPERATORI DELLALGEBRA Gli operatori primitivi dellAlgebra Relazionale sono: Ridenominazione; Unione; Differenza; Proiezione; Restrizione (o Selezione); Prodotto. I simboli R,S,... denotano relazioni, A, B,…attributi e X,Y,…insiemi di attributi

6 DB -Algebra Relazionale5 Ridenominazione Siano X gli attributi di R, A in X, B not in X. Allora A B (R) è con attributi (X-{A}) {B} A B (R)={t | u R t[B] = u[A] t[C]=u[C] se C e diverso da B}.

7 DB -Algebra Relazionale6 ESEMPIO di Ridenominazione Matricola Codice Studente (Esami)

8 DB -Algebra Relazionale7 Unione e Differenza Siano R ed S relazioni dello stesso tipo allora R S = {t | t R t S} R-S = {t | t R t S}

9 DB -Algebra Relazionale8 Esempi R S R S R-S

10 DB -Algebra Relazionale9 Proiezione Sia R una relazione e siano A 1, A 2,…, A n alcuni suoi attributi allora: A1, A2,…, An (R) = {t[A 1, A 2,…, A n ] | t R}

11 DB -Algebra Relazionale10 Esempio Proiezione A,B (R) A,B (R) R

12 DB -Algebra Relazionale11 Restrizione(Selezione) Sia R una relazione allora (R) = {t | t R (t)} dove e una formula proposizionale costruita a partire dagli atomi A B, dove A e B sono attributi di R o costanti e {=, }, utilizzando i connettivi proposizionali,,.

13 DB -Algebra Relazionale12 Esempio Selezione A=X (R) A=X (R)

14 DB -Algebra Relazionale13 Prodotto Siano R(A 1 : T 1,…, A n : T n ) ed S (A n+1 : T n+1,…, A n+m : T n+m ) con {A 1,…, A n } {A n+1,…, A n+m }=. Allora si pone R x S = {tu | t R u S}

15 DB -Algebra Relazionale14 Esempio R x S R S

16 DB -Algebra Relazionale15 Operatori Derivati Sono operatori utili che si possono esprimere in funzioni di quelli primitivi. Intersezione: Siano R ed S dello stesso tipo R S = {t | t R t S}. Essa si può esprimere in funzione degli operatori primitivi: R S = R-(R-S)

17 DB -Algebra Relazionale16 Divisione(Quoziente) Divisione: Siano XY gli attributi di R ed Y quelli di S, allora R/S = {w | {w} x S R}. Per far vedere che / e derivato basta osservare che R/S = X (R) - T dove T = X (( X (R) x S) - R).

18 DB -Algebra Relazionale17 Uso della divisione La divisione serve a rispondere a query del tipo: trova tutte le n-uple di R associate a tutte le n- uple di S. Ad esempio {DBI,Progr}= Corso Corso=DBI Corso=Progr (Esami) ( Matricola,Corso Esami)/ {DBI,Progr} = matricole di studenti che hanno superato DBI e Progr.

19 DB -Algebra Relazionale18 Giunzione(Equijoin) Siano R(A 1 : T 1,…, A n : T n ) ed S (A n+1 : T n+1,…, A n+m : T n+m ) con {A 1,…, A n } {A n+1,…, A n+m }=. Allora si pone R 1 Ai = Ak S = {tu | t R, u S, t.A i =u.A k } i=1…. n, k= n+1…. n+m. La giunzione e derivata perche R 1 Ai = Ak S = Ai = Ak (R x S)

20 DB -Algebra Relazionale19 Studenti 1 Codice= Matricola Esami NOMECODICEMATRICOLAINDIRIZZOTELEFONOCORSOVOTO Mario Rossi Via Etnea Architetture30 Ugo Bianchi Via Roma Programmazio ne 18

21 DB -Algebra Relazionale20 Giunzione Naturale(Natural join) Siano R con attributi XY ed S con attributi YZ R 1 S e una relazione di attributi XYZ costituita da tutte le n-uple t tali che: t[XY] R, t[YZ] S. R 1 S = {t | t[XY] R t[YZ] S} La giunzione e derivata perché Si rinominano gli attributi Y in S come Y e si ottiene S. Si opera la giunzione (equijoin) rispetto ad Y ed Y. Si proietta rispetto a XYZ R 1 S= XYZ (R 1 Y=Y S)

22 DB -Algebra Relazionale21 Studenti 1 Esami NOMEMATRICOLAINDIRIZZOTELEFONOCORSOVOTO Mario Rossi123456Via Etnea Architetture30 Ugo Bianchi234567Via Roma Programmazion e 18 Ugo Bianchi234567Via Roma Architetture27

23 DB -Algebra Relazionale22 Semi-giunzione(Semi-join) Siano R con attributi XY ed S con attributi YZ R S e una relazione di attributi XY costituita da tutte le n-uple di R che partecipano a R 1 S. La semi-giunzione e derivata perché R S= XY (R 1 S)

24 DB -Algebra Relazionale23 Studenti Esami NOMEMATRICOLAINDIRIZZOTELEFONO Mario Rossi123456Via Etnea Ugo Bianchi234567Via Roma

25 DB -Algebra Relazionale24 Giunzione Esterna La giunzione esterna è la giunzione naturale estesa con tutte le n-uple che non appartengono alla giunzione naturale, completate con valori null per gli attributi mancanti. Siano R[XY],S[YZ] R S = (R 1 S) ((R- XY (R 1 S)) {Z=null} {X=null} ((S- YZ (R 1 S)))

26 DB -Algebra Relazionale25 Ordini 1/ Agenti ORDINECLIENTEARTICOLOAGENTEZONA A PISA A CATANIA A NULL ROMA

27 DB -Algebra Relazionale26 Altre Giunzioni Esterne Nelle giunzioni esterne sinistre e destre si aggiungono solo le parti sinistre e destre. Siano R[XY],S[YZ] (giunzione esterna sinistra) R 1 S = (R 1 S) ((R- XY (R 1 S) {Z=null} (giunzione esterna destra) R 1 S = (R 1 S) {X=null} ((S- YZ (R 1 S)))

28 DB -Algebra Relazionale27 Ordini 1 Agenti ORDINECLIENTEARTICOLOAGENTEZONA A PISA A CATANIA A NULL

29 DB -Algebra Relazionale28 Ordini 1 Agenti ORDINECLIENTEARTICOLOAGENTEZONA A PISA A CATANIA NULL ROMA

30 DB -Algebra Relazionale29 Unione Esterna Siano R[XY], S[YZ] due relazioni allora Lunione esterna R [ S si ottiene estendendo le due tabelle con le colonne dellaltro con valori nulli e si fa lunione.

31 DB -Algebra Relazionale30 Esempio di Unione Esterna R U S R S

32 DB -Algebra Relazionale 31 Algoritmo di Query Optimization

33 DB -Algebra Relazionale32 Espressione Algebrica di Query LAlgebra Relazionale può essere utilizzata come linguaggio per interrogare una base di dati. Infatti consideriamo lesempio del database degli studenti costituito dalle tre tabelle Studenti, Esami, Corsi.

34 DB -Algebra Relazionale33 Esempio di Query Supponiamo che vogliamo trovare tutti i professori che hanno dato a Mario Rossi piu di 27. (1 e natural join) Professore Nome=Mario Rossi& Voto>27 (Studenti 1 Esami 1 Corsi)

35 DB -Algebra Relazionale34 Query Optimization La stessa query P Nome=Mario Rossi& Voto>27 (Studenti 1 Esami 1 Corsi) può essere espressa come P ( Nome=Mario Rossi Studenti 1 ( Voto>27 Esami 1 Corsi)) Che risulta essere molto più efficiente!

36 DB -Algebra Relazionale35 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:

37 DB -Algebra Relazionale36 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.

38 DB -Algebra Relazionale37 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)

39 DB -Algebra Relazionale38 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).

40 DB -Algebra Relazionale39 LALGORITMO Si applicano le seguenti tre regole (per anticipare la selezione) finché è possibile A. Si anticipa rispetto a usando la 2.a. B. Si raggruppano le restrizioni usando la 1. C. Si anticipa lesecuzione di su usando la 3.

41 DB -Algebra Relazionale40 Anticipazione delle proiezioni D. Si eliminano le proiezioni superflue usando la 5. E. Si raggruppano le proiezioni mediante la regola 4. F. Si anticipa lesecuzione delle proiezioni rispetto al prodotto usando ripetutamente la 2 (quando E è un prodotto, da destra verso sinistra) e la 6.

42 DB -Algebra Relazionale41 Esercitazioni?


Scaricare ppt "DB -Algebra Relazionale 1 ALGEBRA RELAZIONALE DB -Algebra Relazionale2 LINGUAGGI PER MODELLI RELAZIONALI Algebrici: una query è definita da unespressione."

Presentazioni simili


Annunci Google