Enrico Cavalli - · PDF file Elaborazione automatica dei dati - Enrico Cavalli...
date post
16-Apr-2020Category
Documents
view
9download
0
Embed Size (px)
Transcript of Enrico Cavalli - · PDF file Elaborazione automatica dei dati - Enrico Cavalli...
Elaborazione Automatica dei Dati
ALGEBRA RELAZIONALE
Enrico Cavalli
Anno Accademico 2012-2013
Operazioni nel Modello Relazionale
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 3
Algebra Relazionale
• Le operazioni dell’algebra relazionale permettono di manipolare tabelle per estrarre informazioni. Un’operazione relazionale agisce su una o più tabelle e genera una nuova tabella
– Operazioni che estraggono righe o colonne di una tabella: Selezione, Proiezione
– Operazioni che combinano righe di differenti tabelle: Prodotto Cartesiano, Join
– Operazioni insiemistiche: Unione, Intersezione, Differenza
– Operazioni che modificano il nome di una o più colonne: Ridenominazione
Proiezione e Selezione
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 5
Proiezione e Selezione
• Proiezione e Selezione agiscono “ortogonalmente” sulle tabelle – Proiezione: estrae colonne da una tabella – Selezione: estrae righe da una tabella
Matricola Cognome Età
274 Rossi 37 357 Bianchi 35 444 Rosa 38 297 Gialli 56 432 Neri 39 824 Verdi 38
Matricola Cognome Età
274 Rossi 37 357 Bianchi 35 444 Rosa 38 297 Gialli 56 432 Neri 39 824 Verdi 38
Cognome Età
Rossi 37 Bianchi 35
Rosa 38
Gialli 56
Neri 39 Verdi 38
Cognome Età
Rossi 37 Bianchi 35
Rosa 38
Gialli 56
Neri 39 Verdi 38
Matricola Cognome Età
274 Rossi 37 357 Bianchi 35 444 Rosa 38 824 Verdi 38
Matricola Cognome Età
274 Rossi 37 357 Bianchi 35 444 Rosa 38 824 Verdi 38
ππππLR
R σP R
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 6
Proiezione (1)
πElencoAttributi R
Matricola Cognome Nome Facoltà
545 Rossi Maria Eco 653 Neri Anna Eco 768 Verdi Giuseppe Ing 834 Rossi Maria Mat 314 Cavour Benso Ling
Matricola Cognome Nome Facoltà
545 Rossi Maria Eco 653 Neri Anna Eco 768 Verdi Giuseppe Ing 834 Rossi Maria Mat 314 Cavour Benso Ling
Cognome Facoltà
Rossi Eco Neri Eco
Verdi Ing Rossi Mat
Cavour Ling
Cognome Facoltà
Rossi Eco Neri Eco
Verdi Ing Rossi Mat
Cavour Ling
Cognome
Rossi Neri
Verdi Cavour
Cognome
Rossi Neri
Verdi Cavour
πCognome, Facoltà R πCognome R
R
Una proiezione può cambiare la cardinalità
di una relazione
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 7
Proiezione (2)
Matricola Cognome Nome Facoltà
545 Rossi Maria Eco 653 Neri Anna Eco 768 Verdi Giuseppe Ing 834 Rossi Maria Mat 314 Cavour Benso Ling
Matricola Cognome Nome Facoltà
545 Rossi Maria Eco 653 Neri Anna Eco 768 Verdi Giuseppe Ing 834 Rossi Maria Mat 314 Cavour Benso Ling
πNome,Cognome, Matricola Facoltà R
R
Con le proiezioni è possibile
modificare l’ordine delle colonne
πElencoAttributi R
Nome Cognome Matricola Facoltà
Maria Rossi 545 Eco Anna Neri 653 Eco
Giuseppe Verdi 768 Ing Maria Rossi 834 Mat Benso Cavour 314 Ling
Nome Cognome Matricola Facoltà
Maria Rossi 545 Eco Anna Neri 653 Eco
Giuseppe Verdi 768 Ing Maria Rossi 834 Mat Benso Cavour 314 Ling
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 8
Selezione
σCondizione di Selezione R
Matricola Cognome Età
274 Rossi 37 357 Bianchi 35 444 Rosa 38 297 Gialli 56 432 Neri 39 824 Verdi 38
Matricola Cognome Età
274 Rossi 37 357 Bianchi 35 444 Rosa 38 297 Gialli 56 432 Neri 39 824 Verdi 38
R σEtà < 39 R Matricola Cognome Età
274 Rossi 37 357 Bianchi 35 444 Rosa 38 824 Verdi 38
Matricola Cognome Età
274 Rossi 37 357 Bianchi 35 444 Rosa 38 824 Verdi 38
Cognome Matricola
Rossi 274 Bianchi 297
Rosa 432
Verdi 824
Cognome Matricola
Rossi 274 Bianchi 297
Rosa 432
Verdi 824
πCognome, Matricola(σEtà < 39 R)
• Le operazioni possono essere combinate per costruire espressioni complesse
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 9
Osservazioni
• Cardinalità (Numerosità delle righe) – Proiezione
– Selezione
• Grado (Numerosità delle colonne) – Proiezione
– Selezione
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 10
Esercizi
Costruire le seguenti interrogazioni:
• In relazione alla tabella: Infrazioni ( Codice, Agente, Data, Articolo, Prov, Numero ), elencare le contravvenzioni elevate dall’agente con matricola 457. L’elenco conterrà Data, Articolo violato e targa dell’auto multata.
• In relazione alla tabella: Infrazioni ( Codice, Agente, Data, Articolo, Prov, Numero ), elencare le contravvenzioni elevate nei confronti dei milanesi nel corso del 2004. L’elenco conterrà Articolo violato e Agente che ha elevato la contravvenzione.
• Data la relazione: Studenti ( Matricola, Cognome, Nome, DataNascita, CodiceFiscale ), elencare gli studenti che hanno più di 23 anni (Si ipotizza che: DataNascita contenga il solo anno e che l’interrogazione venga effettuata nel 2011).
• Data la relazione: Prestiti ( NomeAgenzia, NumeroPrestito, NomeCliente, Importo ), elencare le agenzie che hanno concesso prestiti di importo superiore a 50000 euro.
• Data la relazione: Depositi ( NomeAgenzia, NumeroDeposito, NomeCliente, Importo ), elencare i clienti dell’agenzia “Città Alta” che hanno un deposito superiore a 100.000 euro.
• Data la relazione: Dettaglio ( Num, Qta, Descrizione, Importo ), che descrive le voci che compaiono nel conto di un ristorante, elencare le righe dove compaiono dei caffe’.
Prodotto Cartesiano e Join
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 12
Prodotto Cartesiano
R x S combina le righe di R con le righe di S in tutti i modi possibili
Impiegato Reparto
Rossi Vendite Neri Produzione
Bianchi Produzione
Impiegato Reparto
Rossi Vendite Neri Produzione
Bianchi Produzione
Reparto Capo
Produzione Mori Vendite Chiari Acquisti Bruni
Reparto Capo
Produzione Mori Vendite Chiari Acquisti Bruni
Impiegato R.Reparto S.Reparto Capo
Rossi Vendite Produzione Mori Rossi Vendite Vendite Chiari Rossi Vendite Acquisti Bruni Neri Produzione Produzione Mori Neri Produzione Vendite Chiari Neri Produzione Acquisti Bruni
Bianchi Produzione Produzione Mori Bianchi Produzione Vendite Chiari Bianchi Produzione Acquisti Bruni
Impiegato R.Reparto S.Reparto Capo
Rossi Vendite Produzione Mori Rossi Vendite Vendite Chiari Rossi Vendite Acquisti Bruni Neri Produzione Produzione Mori Neri Produzione Vendite Chiari Neri Produzione Acquisti Bruni
Bianchi Produzione Produzione Mori Bianchi Produzione Vendite Chiari Bianchi Produzione Acquisti Bruni
R x S
SR
Il Prodotto Cartesiano genera
tabelle prive di valore informativo
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 13
Theta Join (1)
R P S ≡ σP ( R x S )
Impiegato Reparto
Rossi Vendite
Neri Produzione
Bianchi Produzione
Verdi Ricerca
Impiegato Reparto
Rossi Vendite
Neri Produzione
Bianchi Produzione
Verdi Ricerca
Reparto Capo
Produzione Mori Vendite Chiari Acquisti Bruni
Reparto Capo
Produzione Mori Vendite Chiari Acquisti Bruni
SR
R R.Reparto = S.Reparto S
Impiegato R.Reparto S.Reparto Capo
Rossi Vendite Vendite Chiari Neri Produzione Produzione Mori
Bianchi Produzione Produzione Mori
Impiegato R.Reparto S.Reparto Capo
Rossi Vendite Vendite Chiari Neri Produzione Produzione Mori
Bianchi Produzione Produzione Mori
Un Theta Join dove P è l’uguaglianza
tra attributi di R ed S si chiama EQUI -
JOIN
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 14
Theta Join (2)
R P S ≡ σP ( R x S )
SR
R A < D S
A B C
1 2 3
6 7 8
9 7 8
B C D
2 3 4
2 3 5
7 8 10
A R.B R.C S.B S.C D
1 2 3 2 3 4
1 2 3 2 3 5
1 2 3 7 8 10
6 7 8 7 8 10
9 7 8 7 8 10
A R.B R.C S.B S.C D
1 2 3 2 3 4
6 7 8 2 3 4
9 7 8 2 3 4
1 2 3 2 3 5
6 7 8 2 3 5
9 7 8 2 3 5
1 2 3 7 8 10
6 7 8 7 8 10
9 7 8 7 8 10
R ×××× S
In un Theta Join può comparire qualsiasi tipo
di condizione
Elaborazione automatica dei dati - Enrico Cavalli -Università di Bergamo 15
Equi Join
SR
R R.B = S.B AND R.C = S.C S
A B C
1 2 3
6 7 8
9 7 8
B C D
2 3 4
2 3 5
7 8 10 A R.B R.C S.B S.C D
1 2 3 2 3 4
6 7 8 2 3 4
9 7 8 2 3 4
1 2 3 2 3 5
6 7 8 2 3 5
9 7 8 2 3 5
1 2 3 7 8 10
6 7 8 7 8 10
9 7 8 7 8 10
R ×××× S
A R.B R.C S.B S.C D
1 2