La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere.

Presentazioni simili


Presentazione sul tema: "Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere."— Transcript della presentazione:

1 Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere la soluzione. Operatori: unione intersezione differenza derivati dalla teoria degli insiemi ridenominazione selezione proiezione specifici dellalgebra relazionale join può assumere diverse forme (naturale, theta-join, prodotto cartesiano)

2 Operatori derivati dagli insiemi Le relazioni sono insiemi e quindi è naturale estendere ad esse le operazioni tipiche della teoria degli insiemi. Il risultato di unoperazione fra relazioni DEVE essere una relazione. Le relazioni sono insiemi di tuple omogenee e quindi ha senso definire ed applicare tali operatori solo a tuple definite sugli stessi attributi. Es. lunione fra due relazioni su tuple non omogenee non è una relazione.

3 Operatori derivati dagli insiemi Unione Lunione fra due relazioni r 1 e r 2 definite sullo stesso insieme X si indica con r 1 r 2 ed è una relazione su X contenente le tuple appartenenti a r 1, a r 2 o ad entrambe. Intersezione Lintersezione fra due relazioni r 1 e r 2 definite sullo stesso insieme X si indica con r 1 r 2 ed è una relazione su X contenente le tuple appartenenti sia a r 1 che a r 2. Differenza La differenza fra due relazioni r 1 e r 2 definite sullo stesso insieme X si indica con r 1 - r 2 ed è una relazione su X contenente le tuple appartenenti a r 1 ma non a r 2.

4 Laureati Matricola 7432 9824 Età 54 45 Nome Neri Verdi 727442Rossi Quadri Matricola 7432 9824 9297 Età 54 45 33 Nome Neri Verdi Neri Laureati Quadri MatricolaEtàNome 743254Neri 982445Verdi 929733Neri 727442Rossi 743254Neri 982445Verdi 727442Rossi 743254Neri 982445Verdi 929733Neri 743254Neri 982445Verdi 929733Neri 727442Rossi Unione

5 Laureati Matricola 7432 9824 Età 54 45 Nome Neri Verdi 727442Rossi Quadri Matricola 7432 9824 9297 Età 54 45 33 Nome Neri Verdi Neri Laureati Quadri MatricolaEtàNome 743254Neri 982445Verdi 743254Neri 982445Verdi 743254Neri 982445Verdi 743254Neri 982445Verdi Intersezione

6 Laureati MatricolaEtàNome 743254Neri 982445Verdi 727442Rossi Quadri Matricola 7432 9824 9297 Età 54 45 33 Nome Neri Verdi Neri Laureati – Quadri MatricolaEtàNome 743254Neri 982445Verdi 727442Rossi 743254Neri 982445Verdi 727442Rossi Differenza

7 Ridenominazione In algebra relazionale si ha corrispondenza fra attributi mediante il nome. La ridenominazione consente di modificare il nome di un attributo per associarlo ad un altro in una operazione algebrica. Ad es. rende compatibili due attributi con nome diverso quando ha senso fare lunione fra le relazioni cui appartengono. Si indica con nuovonome vecchionome ( Relazione ) Es. da Paternità( Padre,Figlio ) e Maternità( Madre,Figlio ) è possibile ottenere Genitore Padre ( Paternità ) Genitore Madre ( Maternità )

8 REN Genitore Padre (Paternità) REN Genitore Madre (Maternità) GenitoreFiglio AdamoCaino AbramoIsacco AdamoAbele GenitoreFiglio EvaSet SaraIsacco EvaAbele GenitoreFiglio AdamoCaino AbramoIsacco AdamoAbeleEvaSet SaraIsacco EvaAbele REN Genitore Padre (Paternità) REN Genitore Madre (Maternità)

9 Selezione e Proiezione Le operazioni di selezione e di proiezione si applicano ad una relazione e ne restituiscono una porzione. Possono essere considerate ortogonali o complementari, in quanto una opera sulle righe e laltra sulle colonne. La selezione produce un insieme di tuple, definite su tutti gli attributi della relazione. La proiezione produce un risultato definito su un insieme limitato di attributi, cui contribuiscono tutte le tuple.

10 selezione proiezione

11 Selezione La selezione produce una nuova relazione definita sugli stessi attributi della relazione cui è applicata, contenente solamente le tuple di questultima che soddisfano una specifica condizione di selezione. Si indica con F ( r ) o SEL F ( r ) dove: F è una condizione da verificare r è la relazione a cui la selezione è applicata Quindi F (r) produce una relazione, sullo stesso schema di r, contenente tutte le tuple per le quali F è vera.

12 Selezione, sintassi e semantica sintassi SEL Condizione (Operando) Condizione: espressione booleana (come quelle dei vincoli di tupla) semantica il risultato contiene le tuple dell'operando che soddisfano la condizione

13 Selezione La condizione di selezione F è una formula proposizionale su X, cioè una formula ottenuta combinando con i simboli (and) (or) (not) espressioni del tipo A B o A c è un operatore di confronto (,,,, ) A e B sono attributi di X su cui il confronto abbia senso c è una costante tale che il confronto con A sia definito E definito un valore di verità di F su una tupla t: A B è vera se e solo se t[A] t[B] è vero A c è vera se t[A] c è vera F 1 F 2, F 1 F 2, F hanno lusuale significato

14 Impiegati CognomeFilialeStipendioMatricola NeriMilano645998 RossiRoma557309 NeriNapoli645698 Milano 449553 CognomeFilialeStipendioMatricola NeriMilano645998 RossiRoma557309 NeriNapoli645698 Milano 449553 Impiegati ( che guadagnano piu di 50 ) Milano 449553NeriNapoli645698 SEL Stipendio > 50 (Impiegati)

15 Selezione con valori nulli CognomeFilialeEtàMatricola NeriMilano455998 RossiRoma327309 BruniMilano NULL 9553 Impiegati SEL Età>30 (Persone) SEL Età 30 (Persone) Persone Perché? Perché le selezioni vengono valutate separatamente! Ma anche SEL Età>30 Età 30 (Persone) Persone Perché? Perché anche le condizioni atomiche vengono valutate separatamente!

16 Selezione con valori nulli Per riferirsi ai valori nulli esistono forme apposite di condizioni: IS NULL IS NOT NULL SEL Età>30 (Persone) SEL Età 30 (Persone) SEL Età IS NULL (Persone) = SEL Età>30 Età 30 Età IS NULL (Persone) = Persone

17 Proiezione Dati una relazione r(X) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Y ( r ) o PROJ Y ( r ) ed è linsieme di tuple su Y ottenute dalle tuple di r considerando solo i valori su Y. Y ( r ) = { t[Y] | t r } Una proiezione ha un numero di tuple minore o uguale rispetto alla relazione r cui è applicata. Il numero di tuple è uguale se e solo se Y è superchiave per r.

18 Proiezione operatore monadico produce un risultato che possiede parte degli attributi dell'operando contiene tuple cui contribuiscono tutte le tuple dell'operando sintassi PROJ ListaAttributi (Operando) semantica il risultato contiene le tuple che si ottengono restringendo tutte le tuple dell'operando agli attributi nella lista (ed eliminando gli eventuali duplicati)

19 CognomeFilialeStipendioMatricolaNeriMilano645998 NeriNapoli557309 RossiRoma645698 RossiRoma449553 visualizzare matricola e cognome di tutti gli impiegati PROJ Matricola, Cognome (Impiegati) CognomeFilialeStipendioMatricola NeriMilano645998 NeriNapoli557309 RossiRoma645698 RossiRoma449553 PROJ Cognome, Filiale (Impiegati) visualizzare cognome e filiale di tutti gli impiegati

20 Combinando selezione e proiezione, si possono estrarre informazioni da una sola relazione Non si possono però correlare informazioni presenti in relazioni diverse Il join è l'operatore più interessante (potente) dell'algebra relazionale in quanto permette di correlare dati presenti in relazioni diverse Join

21 E loperatore più caratteristico dellalgebra relazionale, che evidenzia la proprietà del modello relazionale di essere basato su valori. Non ha un corrispettivo nella teoria degli insiemi. Loperatore di join (naturale) correla dati contenuti in relazioni diverse. Il suo risultato è una relazione definita sullunione degli insiemi di attributi degli operandi, le cui tuple sono ottenute combinando le tuple degli operandi che hanno valori uguali su attributi comuni (con lo stesso nome).

22 Join Il join naturale r 1 r 2 di r 1 (X 1 ) e r 2 (X 2 ) è una relazione definita su X 1 X 2 ( che si può scrivere X 1 X 2 ) : r 1 r 2 = { t su X 1 X 2 | t[X 1 ] r 1 e t[X 2 ] r 2 } Il grado della relazione ottenuta è minore o uguale al grado della somma dei gradi delle due relazioni in quanto gli attributi omonimi compaiono una sola volta. Se X 1 X 2 è vuoto il join naturale equivale al prodotto cartesiano fra le relazioni. Se X 1 = X 2 il join naturale equivale allintersezione fra le relazioni


Scaricare ppt "Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere."

Presentazioni simili


Annunci Google