P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone - Basi di Dati: Concetti, Linguaggi, Architetture - 2a Edizione - McGraw-Hill, 1999 http://www.dia.uniroma3.it/~atzeni/libroBD/ - Questo libro ha rappresentato il punto di partenza per lo sviluppo di gran parte del materiale contenuto in questo sito. Più in generale, molte delle riflessioni alla base di questo corso - che pure mi hanno portato ad adottare soluzioni alternative a quelle proposte nel libro - sono dovute alla mia collaborazione pluriennale con Paolo Atzeni. Parte del materiale didattico è basato sulle trasparenze di Paolo, fornite a corredo del libro.
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone - Basi di Dati: Modelli e Linguaggi di Interrogazione - 1a Edizione - McGraw-Hill, 2002 http://www.dia.uniroma3.it/~atzeni/libroBD/ - E' recentemente uscito il primo volume della nuova edizione, che si concentra su modelli, linguaggi e metodologia di progettazione. Particolarmente adatto ad essere adottato in un modulo di 5-6 crediti didattici
R. Elmasri, S. Navathe - Sistemi di Basi di Dati - Fondamenti - 1a Edizione italiana - Addison-Wesley, 2001 - Un libro storico sui sistemi per basi di dati, ora in edizione italiana.
R. Ramakrishnan, J. Gehrke - Database Management Systems - 2nd Edition - McGraw-Hill, 2000 (http://www.cs.wisc.edu/~dbbook/) - Un ottimo libro riferimento per approfondire la tecnologia dei sistemi di gestione per basi di dati.
R. van der Lans - Introduzione a SQL - 2a Edizione italiana - Addison-Wesley, 2000 - Un manuale semplice e molto chiaro per il linguaggio SQL-92. Può essere un riferimento valido sulla sintassi e la semantica del linguaggio.
La prefazione contenuta in tutti i manuali di PostgreSQL descrive l'origine del progetto, e i suoi sviluppi più recenti.
Il capitolo 1 del manuale di MySQL descrive le principali caratteristiche del sistema.
Un articolo molto interessante che confronta le caratteristiche e le prestazioni di MySQL e PostgreSQL, in particolare nei progetti di sviluppo Web. Richiede varie nozioni che non sono state ancora introdotte, ma può essere una buona lettura anche a questo punto del corso.
L'articolo storico di E. F. Codd A Relational Model for Large Shared Data Banks Communications of the ACM. Vol. 13, No. 6, June 1970, pp. 377-387 è un'interessante lettura sugli aspetti teorici del modello relazionale.
I capitoli 5 e 6 del libro di Elmasri e Navathe sono un'introduzione molto chiara alle strutture fisiche per i DBMS relazionali.
Per ulteriori approfondimenti sulle strutture multilivello, i B+ Tree e le tecniche di hashing è possibile consultare i capitoli 7, 8, 9 e 10 del libro di Ramakrishnan.
Il manuale di riferimento di PostgreSQL fornisce informazioni dettagliate sull'implementazione di SQL fornita dal DBMS. E' disponibile in formato pdf sul CD distribuito presso il centro di calcolo studenti, ed in linea sul sito ufficiale di PostgreSQL.
Lo stesso vale per il manuale di MySQL, disponibile in formato pdf sul CD e in linea sul sito ufficiale.
Un libro sull'SQL disponibile gratuitamente in formato PDF: Akeel I Din - SQL: A Practical Introduction.
Sono disponibili in linea numerosi tutorial su SQL. Per trovare i riferimenti basta fare una ricerca con Google con le parole chiave "SQL tutorial".
Un interessante articolo sull'evoluzione dello standard di SQL.
Per ulteriori approfondimenti sulla gestione della concorrenza e dell'affidabilità in un DBMS relazionale è possibile consultare i capitoli 18, 19 e 20 del libro di Ramakrishnan.
DIA, uno strumento "open source" per il disegno di diagrammi UML per Windows e Linux
ArgoUML, uno strumento CASE gratuito per la progettazione basata su UML, totalmente scritto in Java
Un elenco di altri strumenti per la creazione di diagrammi UML
Per ulteriori approfondimenti sulla valutazione e l'ottimizzazione degli operatori relazionali, sulla progettazione fisica e sulla messa a punto è possibile consultare il libro di Dennis Shasha e Philippe Bonnet su "Database Tuning", edito da Morgan Kaufmann.