Basi di Dati (A.A. 2015/2016)
A chi è rivolto il corso. Il corso, tenuto nel primo semestre (periodo didattico da settembre 2015 a dicembre 2015), è di 6 crediti, ed è rivolto agli studenti del terzo anno del Corso di Laurea in Ingegneria Informatica e Automatica della Sapienza Università di Roma.
Prerequisiti. Si richiede la conoscenza dei fondamenti della programmazione, dei linguaggi di programmazione, delle strutture di dati, e dei sistemi operativi.
Obiettivi. L'obiettivo del corso è lo studio degli aspetti fondamentali dei sistemi di gestione di basi di dati e delle metodologie di progettazione di basi di dati. Alla fine del corso lo studente dovrebbe avere acquisito tecniche e metodi per affrontare problemi di progettazione di basi di dati, e per utilizzare le funzionalità di base (definizione della base di dati, aggiornamento della base di dati, interrogazioni sulla base di dati) dei sistemi di gestione di basi di dati nell'ambito dello sviluppo e dell'esercizio di sistemi informatici. Il corso fa esplicito riferimento alle basi di dati relazionali, e ai relativi sistemi di gestione fondati sul linguaggio SQL. Tuttavia, i metodi ed i principi impartiti nel corso hanno validità generale, e possono essere applicati anche in contesti in cui si utilizzano modelli di dati e sistemi di gestione diversi dai modelli e dai sistemi relazionali.
- 8 ottobre 2016. L'esame si svolgerà il 25 ottobre, alle ore 14, in aula 201 dell'Edificio Ex-Poste, via Scalo San Lorenzo 82. Poiché non è possibile effettuare il test SQL prima del prossimo esame, chi non ha superato il test SQL può comunque prenotarsi per l'esame del 25 ottobre. Per loro ci saranno opportune domande su SQL allo scritto.
- 21 dicembre 2015. Le lezioni del corso sono terminate. Il docente ringrazia gli studenti che hanno seguito le lezioni, li invita ad effettuare la valutazione del corso, così come richiesto dal Consiglio d'Area, e, come già fatto gli scorsi anni, si impegna a pubblicare i risultati della valutazione in questa pagina, una volta che saranno resi disponibili dalla facoltà.
- Mini tutorial su MySQL 5 per esercitazioni in SQL - preparato dal Prof. Giuseppe De Giacomo:
per Linux, per Windows, per MAC - D. Calvanese, G. De Giacomo, M. Lenzerini, Slides del corso.
Le slides vengono rese disponibili mediante il sistema MOODLE e sono scaricabili accedendo alla pagina del corso di Basi di dati in MOODLE. Si rende noto che tutti gli studenti della Sapienza possono accedere al sistema MOODLE usando le credenziali ufficiali dell'ateneo.
Sempre accedendo alla pagina del corso in MOODLE, si può partecipare al forum del corso.
- Consigliato ma non necessario: R. Ramakrishnan, J. Gehrke. Sistemi di basi di dati. McGraw-Hill, 2004
- Orario: lunedì [ore 14:00 - 15:30], mercoledì [ore 14:00 - 15:30] e giovedì [ore ore 14:00 - 15:30] nel periodo 28 settembre 2015 - 18 dicembre 2015
- Aula: 4, sede Sapienza ex-Caserma Sani, via Principe Amedeo 184, Roma
- Calendario e contenuto delle lezioni
Settimana Lunedì (14:00 - 15:30) Mercoledì (14:00 - 15:30) Giovedì (14:00 - 15:30) 01 (Set 28) ------------ Lezioni 1,2
- Introduzione al corso
- Definizione di relazione
- Schemi e istanze di relazioneLezioni 3,4
- Vincoli di integrità
- Vincoli di tupla02 (Ott 5) Lezioni 5,6
- Vincoli di chiave
- Vincoli intrarelazionali------------ ------------ 03 (Ott 12) Lezioni 7,8
- Algebra relazionaleLezioni 9,10
- Esercitazione su algebra relazionale
- Esercizi di autovalutazione su algebra relazionaleLezioni 11,12
- Introduzione a SQL
- Istruzione "create table" in SQL04 (Ott 19) Lezioni 13,14
- Inserimento e cancellazione in SQLLezioni 15,16
- Introduzione alle query in SQLLezioni 17,18
- Esercitazione su MySQL (Ing. Marco Console)05 (Ott 26) ------------ Lezioni 19,20
- Il join in SQL
- Varianti del joinLezioni 21,22
- Aggregazioni in SQL
- Operatori insiemistici in SQL06 (Nov 02) Lezioni 23,24
- Query annidate in SQL
- Esercizi SQLLezioni 25,26
- Altre funzionalità di SQL: vincoli e viste
- Esercizi SQLLezioni 27,28
- Progettazione di basi di dati
- Progettazione concettuale
- Entità, attributi e relazioni07 (Nov 09) Lezioni 29,30
- Ruoli
- Esercitazione di progettazione concettualeLezioni 31,32
- La relazione ISA tra concetti
- La generalizzazione------------ 08 (Nov 16) Lezioni 33,34
- La relazione ISA tra relazioni
- Vincoli di cardinalitàLezioni 35,36
- Vincoli di identificazione di entità
- Vincoli di identificazione di relazioniLezioni 37,38
- Esercitazione di progettazione concettuale09 (Nov 23) Lezioni 39,40
- Metodologia di progettazione concettuale
Esercitazione di progettazione concettualeLezioni 41,42
- Metodologia di progettazione logica
- Ristrutturazione dello schema concettualeLezioni 43,44
Esercitazione di ristrutturazione dello schema concettuale
- La traduzione diretta10 (Nov 30) Lezioni 45,46
- La traduzione diretta: le entitàLezioni 47,48
- La traduzione diretta: le relazioniLezioni 47,48
Esercitazione di traduzione diretta11 (Dic 07) Lezioni 49,50
Esercizio completo di progettazione - svolgimento fino alla traduzione diretta------------ Lezioni 51,52
- Ristrutturazione dello schema logico12 (Dic 14) Lezioni 53,54
- Esercizi di esameLezioni 55,56
- Accesso a basi di dati da programmi: JDBC (Dott.ssa Antonella Poggi)Lezioni 57,58
- Simulazione del test SQL in laboratorio (lunedì 21 dicembre 2015 alle ore 10, aula 16 via Tiburtina 205)
- Prima esercitazione su algebra relazionale (vedi slide sul modello relazionale)
- Esercizi di autovalutazione su algebra relazionale. Si possono scaricare dalla pagina MOODLE del corso di Basi di dati le slide degli esercizi di autovalutazione sull'algebra relazionale. Sono 10 esercizi sui quali lo studente deve autovalutarsi, consultando le soluzioni.
- Esercitazione su SQL e MySQL. Si possono scaricare dalla pagina MOODLE del corso di Basi di dati i testi degli esercizi della esercitazione SQL e gli script SQL per creare la relativa base di dati.
- Esercitazione su progettazione concettuale. Si possono scaricare dalla pagina MOODLE del corso di Basi di dati i testi e soluzioni della esercitazione
- Esercitazione su ristrutturazione schema concettuale. Si possono scaricare dalla pagina MOODLE del corso di Basi di dati i testi e soluzioni della esercitazione
- Esercitazione su traduzione diretta. Si possono scaricare dalla pagina MOODLE del corso di Basi di dati i testi e soluzioni della esercitazione
- Esercitazione su prova d'esame. Si possono scaricare dalla pagina MOODLE del corso di Basi di dati i testi e soluzioni della esercitazione
- 1. Introduzione alle basi di dati. Basi di dati e sistemi informativi. Sistemi di gestione di basi di dati.
- 2. Il modello relazionale. Basi di dati relazionali. Il modello relazionale. Algebra relazionale.
- 3. Il linguaggio SQL. Definizione dei dati. Interrogazioni. Vincoli di integrità. Manipolazione dei dati. Viste. Transazioni.
- 4. La progettazione concettuale. Modelli concettuali. Il modello Entità-Relazione. Metodologie per la progettazione concettuale. Qualità di uno schema.
- 5. La progettazione logica/fisica. Ristrutturazione dello schema ER. Traduzione diretta nel modello relazionale. Ristrutturazione dello schema relazionale. Cenni di progettazione fisica.
- 6. Accesso alle basi di dati da software. Introduzione all'accesso a basi di dati mediante i linguaggi di programmazione. Il caso di Java: JDBC.
- Il test SQL: da gennaio 2016 è stato introdotta la "prova di idoneità" su SQL (Test SQL). Il test SQL deve essere superato affinché lo studente possa prenotarsi per l'esame. Le prove del test si svolgeranno a gennaio, febbraio, marzo, giugno e settembre. Ogni prova si svolge nel laboratorio di via Tiburtina e consiste nello scrivere un certo numero di query SQL usando il DBMS MySQL. Viene fornita allo studente una base di dati sulla quale poter verificare la correttezza delle query. Il test di idoneità si intende o superato o non superato, e non ha associato alcun voto per lo studente.
Ricordiamo che, una volta superato il test SQL, lo studente si può prenotare e presentare per la prova d'esame ad un qualunque appello dello stesso anno accademico. All'inizio di ogni anno accademico, la lista di coloro che hanno superato il test viene azzerata. Essendo il corso di Basi di dati erogato da settembre a dicembre, ed essendo quindi il primo appello dopo le lezioni quello di gennaio, questo vuol dire che lo studente in ogni anno accademico in cui supera il test SQL si può prenotare per un qualunque appello fino a quello ultimo dell'anno solare.
- In cosa consiste l'esame: l'esame consiste di una prova scritta ed eventualmente di una prova orale. Nella prova scritta, per la quale si hanno a disposizione 2 ore, si richiede lo sviluppo di un piccolo progetto di basi di dati e la scrittura di alcune query in SQL. Se lo studente viene convocato per una prova orale, quest'ultima consisterà in una discussione delll'elaborato della prova scritta e in altre domande sul programma d'esame.
- Testi di esame: si possono consultare i testi d'esame degli ultimi appelli
- Prenotazione degli esami: per la prenotazione, gli studenti devono utilizzare il servizio del sistema Infostud.
- Calendario degli esami
- Primo appello: 19 gennaio 2016, ore 9:00, aula 33 di via Eudossiana 18
- Secondo appello: 16 febbraio 2016, ore 9:00, aula 33 di via Eudossiana 18
- Primo appello straordinario (per studenti fuori corso o part time): 5 aprile 2016, ore 8:30 in aula 8 di via Eudossiana 18
- Terzo appello: 13 giugno 2016, ore 9, in aula 33 di via Eudossiana 18
- Quarto appello: 6 luglio 2016, ore 9, in aula 33 di via Eudossiana 18
- Quinto appello: 9 settembre 2016, ore 9, in aula 33 di via Eudossiana 18
- Secondo appello straordinario (per studenti fuori corso, part time o che abbiano finito la frequenza dei corsi): 25 ottobre 2016, ore 14:00, aula 201, Edificio Ex-Poste.
- Dati aggregati sulla valutazione per l'A.A. 2015/2016 del corso da parte degli studenti frequentanti. I dati sulla valutazione del corso per gli anni accademici precedenti sono pubblicati nelle pagine relative alle edizioni precedenti del corso stesso.
- Anno accademico 2014/2015
- Anno accademico 2013/2014
- Anno accademico 2012/2013
- Anno accademico 2011/2012
- Anno accademico 2010/2011
- Anno accademico 2009/2010
- Anno accademico 2008/2009
- Anno accademico 2007/2008
- Anno accademico 2006/2007
- Anno accademico 2005/2006
- Anno accademico 2004/2005
- Anno accademico 2003/2004
- Anno accademico 2002/2003
- Anno accademico 2001/2002