Corso di BASI DI DATI 1
Prof. Enrico Giunchiglia
Ing. Marco De Luca
Ingegneria Informatica
Anno Accademico 2005/06 – Primo Semestre
Orario delle lezioni: Dal 19/09/2005 al 16/12/2004, ogni Lunedì 11-13 (aula E4), Giovedì 10-12
(aula E4).
Esercitazioni: Dal 26/09/2005 al 16/12/2005, ogni Venerdì 8-10 (aula E5) e 10-12 (aula INFAL1).
Programma del corso: Il programma si articola nelle fasi di seguito dettagliate.
Introduzione: Sistemi informativi, informazioni e dati. Basi di dati e sistemi di gestione di basi di
dati. Modelli dei dati. Linguaggi e utenti delle basi di dati .Vantaggi e svantaggi dei DBMS
Il modello relazionale: Modelli logico. Schema, istanza di una base di dati. Relazioni e tabelle,
Attributi. Informazione incompleta e valori nulli. Chiave, Superchiave. Vincoli di integrita' (di
dominio, di tupla). Vincoli di integrita' referenziale.
Algebra relazionale:
Operatori insiemistica: Unione, intersezione, differenza, prodotto.
Ridenominazione. Selezione. Proiezione. Join. Interrogazioni in algebra relazionale. Equivalenza di
espressioni algebriche. Algebra con valori nulli. Viste. Calcolo relazionale su attributi e su tuple.
Datalog.
SQL: Definizione dei dati in SQL (DDL). I domini elementari. Definizione di schema.
Definizione delle tabelle. Definizione dei domini. Specifica di valori di default. Vincoli
intrarelazionali. Vincoli interrelazionali. Modifica degli schemi. Interrogazioni in SQL.
Interrogazioni semplici. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni
nidificate. Manipolazione dei dati in SQL. Inserimento. Cancellazione. Modifica. Vincoli di
integrita' generici. Asserzioni. Viste. Cenni di Embedded SQL.
Metodologie e modelli per il progetto: Il ciclo di vita dei sistemi informativi. Metodologie di
progettazione e basi di dati. Il modello Entita'-Relazione: Entità, Relazioni, Cardinalità, Attributi,
Gerarchie. Documentazione di schemi E-R.
La progettazione concettuale: La raccolta e l'analisi dei requisiti. Strategie di progetto: Strategia
top-down, Strategia bottom-up, Strategia inside-out, Strategia mista. Qualita' di uno schema
concettuale. Una metodologia generale. Esempi di progettazione concettuale. Strumenti CASE per
la progettazione di basi di dati
La progettazione logica: Analisi delle prestazioni su schemi E-R. Ristrutturazione di schemi E-R.
Analisi delle ridondanze. Eliminazione delle gerarchie. Partizionamento/accorpamento di concetti.
Scelta degli identificatori principali. Traduzione verso il modello relazionale. Documentazione di
schemi logici. Esempi di progettazione logica. Progettazione logica con gli strumenti CASE.
La normalizzazione: Ridondanze e anomalie. Dipendenze funzionali. Terza Forma Normale.
Forma normale di Boyce e Codd. Decomposizioni. Proprieta' e Qualità delle decomposizioni.
Progettazione di basi di dati e normalizzazione.
Utilizzo di Microsoft Access: Caratteristiche del sistema. La definizione delle tabelle. Specifica dei
cammini di join. Popolamento delle tabelle. La definizione di query. L'interprete SQL. Maschere.
Report.
Testi consigliati:
1. Copia dei lucidi sul sito del corso.
2. P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati: modelli e linguaggi di
interrogazione. McGraw-Hill Italia, 2002
3.
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati. McGraw-Hill Italia, 2002
Orario ricevimento: Con il docente, lunedì, dalle 14 alle 16, in Villa Bonino, Primo Piano.
Sito Internet del corso: http://www.star.dist.unige.it/~enrico/BasiDiDati/
Date d'esame: Sono previste prove nei mesi di Gennaio, Febbraio, Giugno, Luglio, Settembre. Le
date attualmente previste sono (le date elencate sono indicative. Consultare il sito internet del Corso
in prossimità delle scadenze):
Tipologia
Data
Ora
Luogo
Scritto
15 Giugno 2006
14.00-16.00
Aula E1
Orale
3 Luglio
14.00
Villa Bonino
Scritto
5 Luglio 2006
9.30-11.30
Aula E1
Orale
12 Luglio 2006
Da definire
Villa Bonino
Scritto
13 Settembre 2006
14.00
Aula E1
Orale
Da concordare
9.30
Villa Bonino
Testo
Risultati
Risultati
(1) Anno accademico precedente
(2) Due turni: h.10:15-11:00 studenti dalla A alla G. h. 11:00-11:45 studenti dalla H alla Z
(3) Voto massimo: 10,5
(4) Voto massimo: 19
(5) Si puo' fare lo scritto intero o la sola seconda parte. E' necessario iscriversi telematicamente
cliccando qui, o tramite lo sportello studenti dell'Università.
(6) E' necessario iscriversi entro fine Dicembre. I moduli per l'iscrizione sono al Padiglione E. Per
eventuali domande, contattare l' Ing. Marco De Luca (e-mail: <nome><at>medservice.com).
Modalità d'esame: L'esame si articola in una prova scritta e un orale che consiste nella discussione
dello scritto e degli argomenti visti a lezione. E’ prevista una prova facoltativa sugli argomenti
svolti durante le esercitazioni alla fine del corso. Tale prova verrà fatta una sola volta durante l’anno
accademico, avrà un punteggio da -2 a 4 punti, da sommarsi al voto dello scritto. Il voto finale
risulta dalla media dei voti dello scritto (espresso in trentesimi) e dell'orale. La parte scritta e la
parte orale possono essere sostenute in un unico appello o in due diversi appelli ma di una stessa
sessione.
Risultati d'esame: Sul sito del corso.
Copia delle Trasparenze: I lucidi sono in formato PDF si leggono e stampano con il prodotto
Adobe Acrobat Reader, che puo' essere liberamente scaricato dal sito della Adobe. I lucidi
presentati a lezione possono differire da quelli riportati qua sotto.
1. Basi di dati: introduzione
2. Modello relazionale (Esercizi del libro)
3. Algebra relazionale (Esercizi del libro)
4. SQL (Esercizi del libro)
5. SQL nei linguaggi di programmazione (Esercizi del libro)
6. Modello E-R (Esercizi del libro)
7. Progettazione concettuale (Esercizi del libro)
8. Progettazione logica (Esercizi del libro)
9. Normalizzazione (Esercizi del libro)
Nota: la soluzione degli esercizi è proposta solo come traccia e non se garantisce la correttezza.
Prove degli anni precedenti: Novembre 2003, Dicembre 2003, Gennaio 2004 1, Gennaio 2004 2,
Febbraio 2004, Settembre 2004.