Basi di dati (A.A. 2014/2015)
A chi è rivolto il corso. Il corso, tenuto nel primo semestre (periodo didattico da settembre 2014 a dicembre 2014), è di 6 crediti, ed è rivolto agli studenti del terzo anno del Corso di Laurea in Ingegneria Informatica della Sapienza Università di Roma. Inoltre, anche gli studenti (dell'ordinamento 2000) che devono ancora sostenere l'esame di Basi di dati da 5 crediti devono far riferimento a questo corso e devono quindi seguire le indicazioni in questo sito per tutte le informazioni concernenti gli appelli d'esame.
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 gennaio 2015 Si possono consultare i testi d'esame e le soluzioni dell'appello di gennaio 2015.
- 17 dicembre 2014 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à.
- 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 08:30 - 10:00], mercoledì [ore 08:30 - 10:00] e venerdì [ore 08:30 - 10:00] nel periodo 29 settembre 2014 - 19 dicembre 2014
- Aula: 33, via Eudossiana 18, Roma
- Calendario e contenuto delle lezioni
Settimana Lunedì (8:30 - 10:00) Mercoledì (8:30 - 10:00) Venerdì (8:30 - 10:30) 01 (Set 29) Lezioni 1,2
- Introduzione al corso
- Il concetto di base di datiLezioni 3,4
- Definizione di relazione
- Schemi e istanze di relazioneLezioni 5,6
- Vincoli di integrità
- Introduzione all'algebra relazionale02 (Ott 6) Lezioni 7,8
- Algebra relazionale: unione, intersezione, differenza, ridenominazioneLezioni 9,10
- Algebra relazionale: selezione, proiezione e joinLezioni 11,12
- Esercitazione sull'algebra relazionale
- Esercizi di autovalutazione sull'algebra relazionale03 (Ott 13) Lezioni 13,14
- Introduzione ad SQL
- Definizione di tabelle in SQLLezioni 15,16
- Vincoli di integrità in SQL
- Inserimento, cancellazione e aggiornamento in SQLLezioni 17,18
- Interrogazioni in SQL
- Il join in SQL04 (Ott 20) Lezioni 19,20
- Varianti del join
- Aggregazioni in SQLLezioni 21,22
- Operatori insiemistici in SQL
- Query annidate in SQLLezioni 23,24
- Ulteriori aspetti di SQL (transazioni, viste, ecc.)05 (Ott 27) Lezioni 25,26
- Esercitazione SQL------------ Lezioni 27,28
- Introduzione alla progettazione concettuale
- Entità, relazioni, attributi06 (Nov 03) Lezioni 29,30
- Ruoli
- Esercizi di progettazione concettualeLezioni 31,32
- La relazione ISA tra concettiLezioni 33,34
- La generalizzazione
- Concetti disgiunti07 (Nov 10) Lezioni 35,36
- La relazione ISA tra relazioni
- Vincoli di cardinalitàLezioni 35,36
- Vincoli di identificazione di entità
- Vincoli di identificazione di relazioneLezioni 37,38
- Esercitazione di progettazione concettuale08 (Nov 17) Lezioni 39,40
- Esercitazione di progettazione concettuale
- Metodologie di progettazione concettualeLezioni 41,42
- Introduzione alla progettazione logica
- La nozione di carico applicativoLezioni 43,44
- Ristrutturazione dello schema concettuale09 (Nov 24) Lezioni 45,46
- Esercitazione sulla ristrutturazione dello schema concettualeLezioni 47,48
Traduzione diretta concettuale-logica: entitàLezioni 49,50
Traduzione diretta concettuale-logica: relazioni10 (Dic 01) Lezioni 51,52
Esercitazione sulla traduzione direttaLezioni 53,54
Ristrutturazione dello schema logico------------ 11 (Dic 08) ------------ Lezioni 55,56
Decomposizioni e accorpamentiLezioni 57,58
Esercizi su ristrutturazione dello schema logico12 (Dic 15) Lezioni 59,60
- Esercizi finali
- Introduzione a JDBCLezioni 61,62
- Uso di JDBC------------
- Mini tutorial su MySQL per esercitazioni in SQL - preparato dal Prof. Giuseppe De Giacomo, per Linux, Mac, Windows
- 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, eventualmente consultando le soluzioni che verranno rese disponibili il 17 ottobre. Lo studente può considerare un punto per ogni esercizio. Se il punteggio complessivo ottenuto è 10, la preparazione è completamente adeguata. Se è compreso tra 8 e 9, la preparazione è adeguata, ma alcune con alcune da colmare. Se è compreso tra 6 e 7, la preparazione è carente, ovvero ha delle lacune importanti. Se è inferiore o uguale al 5, la preparazione è gravemente carente.
- Esercitazione su SQL. 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.
- 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.
- 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: 8 gennaio 2015, ore 8:30, aula 33 di via Eudossiana 18
- Secondo appello: 5 febbraio 2015, ore 8:30, aula 33 di via Eudossiana 18
- Primo appello straordinario (per studenti fuori corso, part time o che abbiano finito la frequenza dei corsi): 17 aprile 2015, ore 16:00, aula 8 di via Eudossiana 18
- Terzo appello: 12 giugno 2015, ore 8:30, aula 33 di via Eudossiana 18
- Quarto appello: 15 luglio 2015, ore 8:30, aula 33 di via Eudossiana 18
- Quinto appello: 10 settembre 2015, ore 8:30, aula 33 di via Eudossiana 18
- Secondo appello straordinario (per studenti fuori corso, part time o che abbiano finito la frequenza dei corsi): 28 ottobre 2015, ore 8:30, aula B2 di via Ariosto 25
- 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