Corso di BASI DI DATI 1

Prof. Enrico Giunchiglia

Ing. Marco De Luca

Anno Accademico 2007/08 – Primo Semestre



 

Orario delle lezioni (Prof. Enrico Giunchiglia): Dal 24/09/2007 al 21/12/2007, ogni Martedì 14-16 (aula E4), Giovedì 10-12 (aula E4).

Esercitazioni (Ing. Marco De Luca): Dal 24/09/2007 al 21/12/2007, al Lunedì 14-16 in E5 e al Martedì 8-10 in 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 e/o SQL server: 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, Novembre. Le date attualmente previste sono (le date elencate sono indicative. Consultare il sito internet del Corso in prossimità delle scadenze):
 

Tipologia

Data

Ora

Luogo

Risultati

Scritto (0) (1)
22 Novembre 2007
10-12.00
Aula E4

Compitino 1 (2)(3)

22 Novembre 2007

10.00-12.00

Aula E4


Compitino 2 (4)(5)

21 Gennaio 2008

14.00  

Aula E1


Scritto (5)

21 Gennaio 2008

14.00

Aula E1


Esercitazione (6)

da concordare

8.00

Aula E5


Orale

31 Gennaio 2008

9.30

Villa Bonino


Scritto (5)

11 Febbraio 2008

14.00

Aula E1


Orale

21 Febbraio 2008

15.00

Villa Bonino


Scritto

18 Giugno 2008

14.00

Aula E1


Orale

da concordare 

10.00

Villa Bonino


Scritto

2 Luglio 2008

14.00

Aula E1


Orale

da concordare

9.30

Villa Bonino


Scritto

10 Settembre 2008

14.00

Aula E1


Orale

da concordare

9.30

Villa Bonino



(1) Anno accademico precedente
(2) Due turni: h.10:00-10:45 studenti dalla A alla G. h. 10:45-11:30 studenti dalla H alla Z
(3) Voto massimo: 10,5
(4) Voto massimo: 19
(5) Si puo' fare lo scritto intero (in 2h) o la sola seconda parte (in 75 minuti).
(6) E' necessario iscriversi telematicamente cliccando qui, o tramite lo sportello studenti dell'Università. Consultare il sito per eventuali divisioni in turni. Per eventuali domande, contattare l' Ing. Marco De Luca (e-mail: marco<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. Gli "Insufficenti" (alla prova scritta e/o orale) devono risostenere la prova scritta.

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 (compitino)Gennaio, Febbraio, Giugno, Luglio, Settembre.