Informazioni Generali
Docente: Raffaella Gentilini
Orario di ricevimento: Mercoledi, ore 17-19, oppure su appuntamento.
Obbiettivi
Il corso si propone di fornire le competenze essenziali relative a fondamenti, concetti, metodi e tecniche per il progetto e l'utilizzo delle basi di dati e dei sistemi di gestione delle basi di dati. Lo studente dovrebbe acquisire capacit� di comprensione e utilizzo delle nozioni e strumenti basilari connessi alla progettazione e realizzazione delle basi di dati.
Programma in Breve
I. Introduzione ai database ed ai DBMS.
II. Basi di Dati Relazionali: Modello e Linguaggi. Il modello relazionale. Algebra e calcolo relazionale. Cenni al linguaggio SQL (cfr. programma laboratorio).
III. Progettazione di Basi di Dati. Metodologie e modelli per il progetto. Progettazione concettuale. Progettazione logica. Normalizzazione. Progettazione fisica.
IV. Tecnologia dei DBMS. Transazioni, concorrenza, affidabilit�.
Diario delle Lezioni
Il seguente calendario delle lezioni conterra' un programma dettagliato, le copie delle slides e gli esercizi proposti durante le lezioni.
Introduzione ai database ed ai DBMS (lezioni del 02/10 e 04/10)
Presentazione del corso. Introduzione alle basi di dati: Caratteristiche dell'approccio con basi di dati; Categorie di utenti; Vantaggi e svantaggi dell'uso di un DBMS; Breve storia delle applicazioni di basi di dati. [EN]: Capitolo 1.
Slides Lezione 1 .
Concetti e architettura di un sistema di basi di dati: Modelli di dati, schemi e istanze; Architettura a livelli e indipendenza dei dati; Linguaggi e interfacce di basi di dati; Ambiente di un sistema di basi di dati; Architetture centralizzate e client/server per i DBMS; Classificazione dei sistemi di gestione di basi di dati.
[EN]: Capitolo 2. Slides Lezione 2 .
BD: Overview storica (IBM Computer History Museum) . Curiosita': Il programma spaziale APOLLO (discorso di Kennedy del 1962 We choose to go to the moon ) costitui' un forte stimolo allo sviluppo della tecnologia dei database ai suoi albori: il DBMS IMS
Il modello Relazionale. (lezione del 05/10, 09/10)
Concetti del modello relazionale. Domini, attributi, tuple e relazioni. Schema e stato.
([EN]: Capitolo 3). Slides Lezione 3 (il modello relazionale).
E. Codd Turing Award Lecture (1981) . Vincoli del modello relazionale. Vincoli intrarelazionali: vincoli di dominio, vincoli di tupla, vincoli di non nullita, vincoli di univocit�. Nozioni di superchiave, chiave candidata e chiave primaria. Vincolo di integrita dell'entita'. Vincoli interelazionale: Vincolo di integrita' referenziale, chiavi esterne (semplici e composte). Aggiornamento di basi di dati e gestione della violazione dei vincoli di integrita'. Slides (Vincoli) ([EN10]: Capitolo 3
Bibliografia
Testo di riferimento per il corso:
[EN] --- R.A.Elmasri e S.B.Navathe: Sistemi di Basi di Dati -- Fondamenti e complementi, Pearson Addison-Wesley, 7a edizione, 2018.
Le fonti per eventuale materiale integrativo verranno indicate a lezione.
Si tenga presente che gli argomenti trattati nel corso possono essere studiati o approfonditi anche consultando uno (o pi�) dei seguenti testi.
[UW02] --- J.Ullman e J.Widom. First Course in Database Systems. 2a edizione. Prentice Hall
[ACPT09] --- P.Atzeni, S. Ceri, S. Paraboschi, e R. Torlone. Basi di Dati: Modelli e Linguaggi di Interrogazione. 3a edizione. McGraw-Hill. 2009