Crediti didattici : 5
Contenuti del corso
- INTRODUZIONE AL CORSO
- Il sistema informativo nell'azienda
- Caratteristiche dei DBMS e concetto di transazione
- Utenti, strumenti e moduli di un DBMS
- TEORIA RELAZIONALE
- Il modello relazionale dei dati, sua definizione (informale e formale) e concetti fondamentali
- Algebra relazionale: operazioni unarie, binarie e di join
- Interrogazioni in algebra relazionale e loro ottimizzazione
- Calcolo relazionale: definizione, equivalenza fra algebra relazionale e calcolo relazionale
- Datalog: definizione, interrogazioni ricorsive, vincoli di integrità
- Relazioni tra i poteri espressivi dei linguaggi formali presentati
- LINGUAGGI PER BASI DI DATI
- Introduzione a SQL: standardizzazione di SQL, domini SQL, vincoli e semplice definizione di tabelle
- SQL come DDL: integrità referenziale, definizione di schemi e loro modifica, cataloghi relazionali
- Interrogazioni SQL semplici, interrogazioni con ordinamenti e raggruppamenti, Interrogazioni SQL complesse
- Comandi di modifica e viste in SQL
- Aspetti evoluti del DDL: indici e vincoli di integrità generici, controllo dell'accesso, viste e controllo dell'accesso, transazioni (cenni)
- SQL per la programmazione: funzioni SQL, SQL Embedded, ODBC/ADO e JDBC, procedure
- PROGETTAZIONE DI BASI DI DATI
- Fasi della progettazione
- Le astrazioni nella progettazione dei dati
- Il modello Entità-Relazioni: definizione, associazioni, identificatori e gerarchie, proprietà delle gerarchie
- Il ciclo di progettazione: fasi di progettazione, strategie, qualità di un progetto concettuale
- Progettazione logica: fasi del progetto logico, eliminazione delle gerarchie, gestione degli identificatori, gestione degli attributi, gestione delle associazioni
- Progettazione fisica (cenni)
Modalità di verifica
Valutazione
L'esame di basi di dati consiste in un'unica prova scritta.
Lo studente può essere eventualmente convocato per un colloquio orale, a discrezione del docente.
Non sono previste prove in itinere.
Il laboratorio
L'attività di laboratorio permetterà agli studenti di approfondire aspetti tecnologici di argomenti trattati nel corso e acquisire esperienza di interazione tra programmi applicativi e sistemi di gestione di basi di dati.
Materiale didattico consigliato
- Libro di Testo
- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone
Basi di dati - Modelli e Linguaggi di Interrogazione.
McGraw-Hill Libri Italia (nuova edizione, 2002).
- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone
- Altri testi di consultazione
- R. Elmasri, S. B. Navathe
Fundamentals of Database Systems.
Benjamin-Cummings, 2003
- R. Elmasri, S. B. Navathe
- Eserciziari
- Luciano Baresi Chiara Francalanci, Fabio Schreiber, Letizia Tanca
Progettazione integrata di dati e funzioni Esercizi svolti e commentati con i modelli ER, dataflow e UML
Esculapio, Bologna - E. Baralis, A.Belussi, G. Psaila
Basi di dati – temi d'esame svolti
Esculapio. - D. Braga, M. Brambilla, A. Campi
Eserciziario di Basi di dati
Progetto Leonardo. Esculapio.
- Luciano Baresi Chiara Francalanci, Fabio Schreiber, Letizia Tanca
- Testo Appello del 12 Febbraio 07 e
soluzioni
Piano dettagliato delle lezioni/esercitazioni/laboratori
Le slide sono in formato PDF, per la visione è richiesto Acrobat Reader (si suggerisce la versione 4.0 o superiore, scaricabile liberamente per esempio da http://www.adobe.com/products/acrobat/readstep.html
| Giorno | Lez/Es | Contenuti | Materiale |
| 4/10 | Lezione | Introduzione al corso | Introduzione al Corso |
| 5/10 | Lezione | Il modello relazionale dei dati | Il modello relazionale |
| 11/10 | Lezione | Introduzione ai linguaggi formali |
Algebra relazionale
Articolo sulla divisione |
| 12/10 | Esercitazione | Il linguaggio SQL (DDL) | SQL (DDL) |
| 25/10 | Lezione | Altri linguaggi formali | Altri linguaggi |
| 2/11 | Lezione | Progettazione di basi di dati | Progettazione concettuale e logica |
| 16/11 | Esercitazione | Il linguaggio SQL (DML) | SQL |
| Esercitazione | Raccolta Temi esame A.a. 2005/2006 | Raccolta Temi | |
| 20/12 | Lezione | Normalizzazione di basi di dati | Lucidi Prof. Schreiber |
| 10/01 | Esercitazione | Aspetti avanzati di SQL | Creazione di viste, vincoli, accessi |