rielaborato da Atzeni-etal., Basi di dati, Capitolo 4

Slides:



Advertisements
Presentazioni simili
Unità di apprendimento 6 Dal problema al programma.
Advertisements

Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
CONTROLLO DELLA CONCORRENZA
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
© 2007 SEI-Società Editrice Internazionale, Apogeo
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
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
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
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
Raccolta ed Analisi dei Requisiti nella Progettazione
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Dal problema al processo risolutivo
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
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
Unità di apprendimento 7
Interrogazione di una base di dati relazionale
Le postcondizioni specificano l’output della funzione.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Frequenza di fallimento della terapia di prima linea basata su INI vs
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
il problema dei problemi
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Che cosa è un problema matematico
Situazione problematica con le tessere della Matematòca algebrica
IL CONCETTO DI ALGORITMO
Programmare.
Linguaggio C++ Selezione.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Strutture di Controllo
Confronto tra rappresentazioni di percorsi nella griglia 10×10
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Ricorsione 16/01/2019 package.
Interpretazione Astratta
Teoria della computabilità
Esercitazione guidata 1
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Operatori aggregati e raggruppamenti
Quantificazione Esistenziale ed Universale
Selezione e Proiezione
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Insiemi 25/06/2019.
La programmazione strutturata
Progettazione di una base di dati
Transcript della presentazione:

rielaborato da Atzeni-etal., Basi di dati, Capitolo 4 Metodo generale applicabile per la costruzione di interrogazioni SQL (New!) 15/10/2001 rielaborato da Atzeni-etal., Basi di dati, Capitolo 4

Metodo generale per le interrogazioni SQL – 1 Fase di analisi 1. Analizza la espressione della interrogazione in linguaggio naturale, cercando di capire: 1.1. Quali attributi occorre produrre in output  Certamente dovrai considerare nella FROM (oppure nelle diverse nidificazioni) le relazioni dove si trovano gli attributi 1.2. Quali ulteriori relazioni ti servono per completare il calcolo  Prova ad eseguire “a mano” la interrogazione, questo ti autera’ ad individuare queste ulteriori relazioni da citare nella FROM (oppure nelle diverse nidificazioni) 15/10/2001 rielaborato da Atzeni-etal., Basi di dati, Capitolo 4

rielaborato da Atzeni-etal., Basi di dati, Capitolo 4 Metodo generale per le interrogazioni SQL – 2 Fase di individuaizone delle operazioni base passi in parallelo 2.1 Cerca Join - Cerca ora di capire quali JOIN devono essere effettuati tra le diverse relazioni selezionate nel passo precedente. 2.2 Cerca Aggregazioni - Cerca anche di capire se servano degli operatori di aggregazione. 2.3. Cerca Selezioni - Cerca infine di capire quali tipi di selezioni debbano essere effettuate, ed in particolare se se su gruppi o su singole tuple. 2.4. Cerca operatori Insiemistici – Cerca di capire se ti possono servire delle Unioni, Intersezioni, differenze. Le differenze, ad esempio servono quando sia facile concepire la interrogazione come la individuazione di un insieme e poi di quale sottoinsieme sottrargli. 15/10/2001 rielaborato da Atzeni-etal., Basi di dati, Capitolo 4

rielaborato da Atzeni-etal., Basi di dati, Capitolo 4 Metodo generale per le interrogazioni SQL – 3 Scelta tra forma semplice e nidificata 3. Decidi ora tra la forma semplice e la forma nidificata. Opta per la forma nidificata solo in casi particolarmente complessi, in cui ti risulti facile una applicazione “ricorsiva” della select, in cui cioe’ ad ogni Select viene individuato un insieme, per ciascuna n-pla si confronta poi la n-pla con un nuovo insieme individuato con una nuova Select, due, tre nidificazioni sono in genere sufficienti. 15/10/2001 rielaborato da Atzeni-etal., Basi di dati, Capitolo 4

rielaborato da Atzeni-etal., Basi di dati, Capitolo 4 Metodo generale per le interrogazioni SQL – 4 Caso in cui hai optato per la forma semplice 4.1. Distribuisci bene i JOIN, gli operatori insiemistici e le condizioni da mantenere nella WHERE ed eventualmente nella HAVING. 4.2. Rispetta, nel caso delle aggregazioni, le regole che presiedono gli insiemi di attributi nella SELECT e nella GROUP BY 4.3. Scelgi le eventuali operazioni aritmetiche ndella SELECT alla fine, perche’ vengono eseguite alla fine 15/10/2001 rielaborato da Atzeni-etal., Basi di dati, Capitolo 4

rielaborato da Atzeni-etal., Basi di dati, Capitolo 4 Metodo generale per le interrogazioni SQL – 5 Caso in cui hai optato per la forma complessa 5.1. Puoi procedere alla scrittura della SELECT nidificata top-down o bottom-up, ma ricordati che la esecuzione e’ eseguita secondo la semantica top-down, quindi nel caso tu usi la semantica bottom-up riesegui poi la interrogazione secondo la semantica top-down, per assicurarti che sia corretta. 5.2. Verifica di adottare le quattro regole di visibilita’ introdotte a lezione. 15/10/2001 rielaborato da Atzeni-etal., Basi di dati, Capitolo 4

rielaborato da Atzeni-etal., Basi di dati, Capitolo 4 Metodo generale per le interrogazioni SQL – 6 Test o Verifica di correttezza 6.1 Esegui la interrogazione non su un solo input, su vari dati di input, aventi tra di loro organizzazione diversa dei valori. 6.2. Puo’ aiutare eseguire la interrogazione manualmente, ovvero fase per fase, per verificare che i risultati parziali siano coerenti con quanto ci si aspetta. 6.3 Trai dagli eventuali errori informazioni che ti permettano di capire a quale errore corrispondano nella interrogazione, correggi e ricomincia da 6.1. 15/10/2001 rielaborato da Atzeni-etal., Basi di dati, Capitolo 4

Consigli sugli esercizi Le interrogazioni nidificate sono molto potenti, ma richiedono esercizio. Prova a rappresentare una interrogazione in linguaggio naturale sia nella forma semplice che nella forma nidificata SQL, ed analizza i diversi ragionamenti che hai fatto per arrivare alle due formulazioni, cercando di capire le differenti potenzialita’. Esegui naturalmente le due interrogazioni su diversi input per verificare la loro correttezza. 15/10/2001 rielaborato da Atzeni-etal., Basi di dati, Capitolo 4