La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Le operazioni relazionali (continua)

Presentazioni simili


Presentazione sul tema: "Le operazioni relazionali (continua)"— Transcript della presentazione:

1 Le operazioni relazionali (continua)
Join esterno

2 Esempio di equi-join IDAgente Nome Zona Bia Bianchi Nord Bru Bruni Centro Ner Neri Ros Rossi Sud Ver Verdi Isole Se effettuiamo l’operazione di congiunzione ClientiA⋈AgentiA di Clienti e Agenti su IDAgente otteniamo la tabella nella diapositiva seguente IDCliente Ragione Sociale PartitaIVA Provincia IDAgente Lami Lamiere per auto TO Bia Levi Levigatura Toscana FI Ner Luci Lucidatura metalli Meta Metallurgica Emiliana BO Gra Metb Metalli rari NA Ros

3 Esempio di equi-join (continua)
Si ottiene la tabella IDCliente Ragione Sociale PartitaIVA Provincia Clienti. IDAgente Agenti. Nome Zona Lami Lamiere per auto TO Bia Bianchi Nord Levi Levigatura Toscana FI Ner Neri Centro Luci Lucidatura metalli Metb Metalli rari NA Ros Rossi Sud Notiamo che la riga di Clienti con IDCliente Meta non appare in quanto l’agente con codice Gra non è presente nella tabella Agenti Così come gli agenti con codice Ver e Bru non appaiono nella congiunzione perché nessun cliente è associato a loro

4 Il join esterno Il join esterno è una congiunzione che restituisce le righe dell’una e dell’altra tabella anche se NON sono presenti valori uguali tra gli attributi comuni. Vediamo i tipi di join esterno left join right join full join

5 Il left join Il left join elenca comunque tutte le righe della prima tabella congiungendo, tra le righe della seconda, solo quelle per le quali si trovano valori corrispondenti per gli attributi comuni. Nella congiunzione con il left join le righe senza corrispondenti nella seconda tabella sono completate con valori nulli.

6 Esempio left join Clienti Left Join Agenti
IDCliente Ragione Sociale PartitaIVA Provincia Clienti. IDAgente Agenti. Nome Zona Lami Lamiere per auto TO Bia Bianchi Nord Levi Levigatura Toscana FI Ner Neri Centro Luci Lucidatura metalli Meta Metallurgica Emiliana BO Gra Metb Metalli rari NA Ros Rossi Sud Le righe di Clienti senza valori corrispondenti sono completate con valori nulli

7 Il right join Il right join elenca comunque tutte le righe della seconda tabella congiungendo, tra le righe della prima, solo quelle per le quali si trovano valori corrispondenti per gli attributi comuni. Nella congiunzione con il right join le righe senza corrispondenti nella prima tabella sono completate con valori nulli.

8 Esempio right join Clienti Right Join Agenti
IDCliente Ragione Sociale PartitaIVA Provincia Clienti. IDAgente Agenti. Nome Zona Lami Lamiere per auto TO Bia Bianchi Nord Levi Levigatura Toscana FI Ner Neri Centro Luci Lucidatura metalli Bru Bruni Ver Verdi Isole Metb Metalli rari NA Ros Rossi Sud Le righe di Agenti senza valori corrispondenti sono completate con valori nulli

9 Il full join Il full join elenca comunque tutte le righe della prima e della seconda tabella congiungendo quelle per le quali si trovano valori corrispondenti per gli attributi comuni. Nella congiunzione con il full join le righe senza corrispondenti nella prima o della seconda tabella sono completate con valori nulli.

10 Esempio full join Clienti Full Join Agenti
IDCliente Ragione Sociale PartitaIVA Provincia Clienti. IDAgente Agenti. Nome Zona Lami Lamiere per auto TO Bia Bianchi Nord Levi Levigatura Toscana FI Ner Neri Centro Luci Lucidatura metalli Meta Metallurgica Emiliana BO Gra Bru Bruni Ver Verdi Isole Metb Metalli rari NA Ros Rossi Sud Le righe di Clienti o di Agenti senza valori corrispondenti sono completate con valori nulli Le righe di Clienti o di Agenti senza valori corrispondenti sono completate con valori nulli

11 Self join Il self join è una congiunzione con la quale vengono combinate righe di una tabella con righe della stessa tabella quando sono presenti valori corrispondenti tra attributi, cioè due attributi dello stesso dominio.

12 Esempio Self Join Impiegati: la colonna Dir indica il codice del dirigente Codice Cognome Stipendio Dir 1 Bianchi 26000 5 2 Neri 24000 3 Rossi 28000 4 Viola 30000 Gatti 40000 6 Leoni 45000 7 Mori Effettuiamo un self join con le colonne Codice e Dir

13 Esempio Self Join (continua)
Ridenominiamo le colonne CognomeDir, StipendioDir e DirDelDir Codice Cognome Stipendio Dir CognomeDir StiperndioDir DirDelDir 1 Bianchi 26000 5 Gatti 40000 6 2 Neri 24000 3 Rossi 28000 4 Viola 30000 Leoni 45000 7 Mori

14 Interrogazioni con più operatori
Le operazioni di selezione e di proiezione agiscono su una sola tabella alla volta, mentre la congiunzione agisce su più tabelle. Le varie operazioni possono essere adoperate in successione (come in matematica)

15 Esempio di più operatori in cascata
Temp1 = Selezione P Clienti dove Provincia = «FI» Temp2 = Congiunzione del risultato Temp1 con Agenti su IDAgenti Temp1A⋈AgentiA IDCliente RagioneSociale PartitaIVA Provincia IDAgente Levi Levigatura Toscana FI Ner Luci Lucidatura metalli IDCliente RagioneSociale PartitaIVA Provincia Clienti. IDAgente Agenti. Nome Zona Levi Levigatura Toscana FI Ner Neri Centro Luci Lucidatura metalli Proiezione di Temp2 su RagioneSociale e Nome LTemp2 RagioneSociale Nome Levigatura Toscana Neri Lucidatura metalli

16 Esempio con più operatori (continua)
L’esempio appena calcolato si può scrivere: RagioneSociale, Nome[ (Provincia=«FI»Clienti)IDAgente ⋈ AgentiIDAgente ] Possiamo scrivere espressioni complesse in modo semplice. Cosa calcola RagioneSociale, PartitaIVA(Provincia=«TO»Clienti)?


Scaricare ppt "Le operazioni relazionali (continua)"

Presentazioni simili


Annunci Google