Le operazioni relazionali (continua)

Slides:



Advertisements
Presentazioni simili
Microsoft SQL Server 2008 Utilizzo. Creazione DataBase CREATE DATABASE CREATE DATABASE Cinema.
Advertisements

MODELLO RELAZIONALE La relazione su n insiemi A1, A2….,An è un sottoinsieme dell’ insieme di tutte le n-uple a1, a2,….,an che si possono costruire.
Operazioni Relazionali
Operazioni Relazionali
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
I Polinomi Prof.ssa A.Comis.
1 Simulazione Numerica dei Fenomeni di Trasporto Necessità di introduzione dei tensori  11  12  13  23  21  22 Vogliamo descrivere in un modo che.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Cosa nascondono i numeri naturali? N Loretta Ferrante.
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Le operazioni relazionali
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Giovanni Finaldi Russo Pietro Bruno
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Interrogazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
PROGETTAZIONE CONCETTUALE
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Condizioni decisionali
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Integrità referenziale
Corso di Basi di Dati Il Linguaggio SQL
La normalizzazione delle relazioni
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Interrogazione di una base di dati relazionale
Corso di Basi di Dati Il Linguaggio SQL
Corso di Basi di Dati Il Linguaggio SQL
Pensi che sia impossibile risolvere un’espressione come questa?
Interrogazione di una base di dati relazionale
Normalizzazione di uno schema relazionale.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Corso di Basi di Dati Il Linguaggio SQL
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Il modello relazionale
FORMULE E FUNZIONI SU EXCEL
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Le operazioni di moltiplicazione e divisione in Aritmetica e geometria
Logica Lezz
Le proposizioni DEFINIZIONE. La logica è un ramo della matematica che studia le regole per effettuare ragionamenti rigorosi e corretti. DEFINIZIONE. Una.
Basi di dati - Fondamenti
INTRODUZIONE A EXCEL Il foglio elettronico o foglio di calcolo è una tabella che contiene parole e numeri che possono essere elaborati applicando formule.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Impariamo a conoscere le Matrici
Partizionamento/accorpamento di concetti
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Join, una difficoltà Impiegato Reparto Rossi A Neri B Bianchi Reparto
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Fogli elettronici e videoscrittura
Gli archivi e le basi di dati
Il modello relazionale
Condizioni decisionali
Selezione e Proiezione
Condizioni decisionali
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere.
Matrici e determinanti
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

Le operazioni relazionali (continua) Join esterno

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 01234567890 TO Bia Levi Levigatura Toscana 25874196301 FI Ner Luci Lucidatura metalli 45678912312 Meta Metallurgica Emiliana 32154789635 BO Gra Metb Metalli rari 78965412585 NA Ros

Esempio di equi-join (continua) Si ottiene la tabella IDCliente Ragione Sociale PartitaIVA Provincia Clienti. IDAgente Agenti. Nome Zona Lami Lamiere per auto 01234567890 TO Bia Bianchi Nord Levi Levigatura Toscana 25874196301 FI Ner Neri Centro Luci Lucidatura metalli 45678912312 Metb Metalli rari 78965412585 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

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

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.

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

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.

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

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.

Esempio full join Clienti Full Join Agenti IDCliente Ragione Sociale PartitaIVA Provincia Clienti. IDAgente Agenti. Nome Zona Lami Lamiere per auto 01234567890 TO Bia Bianchi Nord Levi Levigatura Toscana 25874196301 FI Ner Neri Centro Luci Lucidatura metalli 45678912312 Meta Metallurgica Emiliana 32154789635 BO Gra Bru Bruni Ver Verdi Isole Metb Metalli rari 78965412585 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

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.

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 

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

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)

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 25874196301 FI Ner Luci Lucidatura metalli 45678912312 IDCliente RagioneSociale PartitaIVA Provincia Clienti. IDAgente Agenti. Nome Zona Levi Levigatura Toscana 25874196301 FI Ner Neri Centro Luci Lucidatura metalli 45678912312 Proiezione di Temp2 su RagioneSociale e Nome LTemp2 RagioneSociale Nome Levigatura Toscana Neri Lucidatura metalli 

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)?