Programma del corso di Basi di Dati e Sistemi Informativi I
(AA. 2006/07)
Testi di riferimento per il corso:
Il testo di riferimento per il corso è:
-
[A] R. Elmasri, S. Navathe, Sistemi di basi di dati Fondamenti,
Addison-Wesley, 4 ed., Milano, 2004.
Un testo recente alternativo al precedente è:
-
[B] P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone,
Basi di dati. Modelli e linguaggi di interrogazione. Seconda edizione
McGraw-Hill, Milano, 2006.
Altri testi utilizzati per integrazioni:
-
[C] P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone,
Basi di dati, II Ed. McGraw-Hill, Milano, 1999.
-
[D] K. Loney, Oracle database 10g La guida completa, McGraw-Hill, Milano, 2005.
(o alternativamente la precedendte edizione
K. Loney, G. Koch, La guida completa Oracle 9i, McGraw-Hill, Milano, 2003.)
Contenuto del corso:
-
Concetti ed architettura di un sistema per la gestione di basi di dati.
([A] Capitoli I e II)
-
Progettazione concettuale: i diagrammi Entità Associazione
ed i diagrammi Entità Associazione Estesi.
([A] Capitoli III e IV escludendo le parti relative alla notazione
dei Class Diagram di UML)
-
Il modello di dati relazionale. Varie tipologie di vincoli
(dominio, chiave, integrità referenziale, etc.)
([A] Capitolo V)
- Algebra relazionale.
([A] Capitolo VI escludendo il calcolo relazionale)
- Traduzione da schemi ER ed EER a schemi relazionali.
([A] Capitolo VII)
-
SQL-99: definizione dello schema, vincoli di base, istruzioni
SELECT, INSERT, UPDATE, DELETE
([A] Capitolo VIII)
- SQL-99: definizione di VIEW, ASSERTION, TRIGGER (Oracle).
([A] Capitolo IX, paragrafi 1-3; per i TRIGGER si veda anche [D] Cap. 30)
- SQL nei linguaggi di programmazione: Embedded SQL e SQL dinamico
- PL\SQL di Oracle;
([A] Capitolo IX, paragrafi 4-5; per PL\SQL si veda [D] Cap. 29)
-
Dipendenze funzionali e normalizzazione. Prima, seconda, terza forma normale.
Forma normale di Boyce e Codd. Algoritmo per la riduzione in terza forma normale.
([A] Capitolo 10, Capitolo 11 paragrafi 11.1 e 11.2)