| | | corso | | | | |
Basi di dati
Codice: | AA016 | Crediti: | 6 | Semestre: | 2 | Sigla: | BD | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Giovanna Guerrini
Tel. 0502212700Obiettivi di apprendimento
Gli elaboratori elettronici sono usati, nelle organizzazioni di ogni tipo e dimensione, principalmente per agevolare e potenziare le possibilitā di archiviazione, recupero ed elaborazione di informazioni. I sistemi dedicati a questo scopo sono in genere basati sulla tecnologia delle basi di dati. Obiettivo del corso č di presentare le caratteristiche dei sistemi di gestione dati, in particolare quelli relazionali, ponendosi dal punto di vista dei progettisti e degli sviluppatori delle applicazioni.
Descrizione
Il corso introduce i concetti di base, i modelli dei dati fondamentali e le
tecniche generali necessarie per definire, costruire e manipolare una base
di dati usando un DBMS, con particolare enfasi sui DBMS relazionali. Il
corso tratterà
(a) il concetto di modello dei dati; (b) la
modellazione dei dati nel modello entity-relationship e in quello
relazionale; (c) i linguaggi di interrogazione di basi di dati relazionali e il
linguaggio SQL; (d) la teoria e gli algoritmi usati nella progettazione di
basi di dati relazionali per produrre schemi normalizzati; (e) cenni all'architettura dei sistemi di gestione di basi di dati relazionali.
English Description
Organizations invest a lot of time and money in gathering data which they
then use to perform their daily activities and to plan future activities.
In order to protect this investement, it is important that data be managed
so that queries and applications can be executed efficiently and so that
data quality be enforced. The computer systems that manage data are called
Database Management Systems (DBMSs), and they occupy the dominant role in
most organizations computing. The course presents the basic concepts,
fundamental data models, and general techniques that are needed to define,
construct, and manipulate a database using a DBMS, with the main emphasis
on relational DBMSs. The course will cover (a) the concept of data models;
(b) data base modelling using entity-relationship and
relational data models; (c) relational query languages and the SQL language;
(d) the theory and algorithms used in relational database design to produce normalized schemas; (e) basics of the architecture of relational database management systems.
Programma
- Aspetti introduttivi. Evoluzione nei sistemi di gestione dati. Obiettivi e servizi di un DBMS. Modelli dei dati: concetti di base, evoluzione. Linguaggi di accesso e manipolazione. Livelli nella rappresentazione dei dati. Utenti di un sistema di basi di dati.
- Progettazione di basi di dati. Metodologie di progettazione di basi di dati Aspetti introduttivi. Fasi nella progettazione, analisi dei requisiti, progettazione concettuale, progettazione logica. Progettazione concettuale: Il modello Entity-Relationship Diagrammi E-R: entita', domini, attributi, associazioni. Associazioni di sottoinsieme, gerarchie di generalizzazione. Vincoli di integrita', identificazione e dipendenze di esistenza. Progettazione logica: Il modello relazionale Concetti base (schema, relazione, tupla). Nozione di chiave, chiave esterna, integrita' referenziale. Trasformazione di schemi ER in schemi relazionali.
- Modello relazionale e SQL. Il modello relazionale Algebra relazionale. Operazioni derivate (intersezione, join, divisione). Calcolo relazionale. Potere espressivo dell'algebra relazionale e del calcolo relazionale. Safe relational calculus. Il linguaggio SQL Struttura delle interrogazioni. Funzioni aritmetiche e aggregate, sottointerrogazioni, operazioni di unione, differenza, intersezione. Creazione di relazioni e viste. Operazioni di modifica. Uso di SQL da linguaggio di programmazione: estensioni procedurali di SQL (PL/SQL), interfacce per DBMS (JDBC), SQL embedded (SQLJ). Concetto di cursore, SQL dinamico.
- Teoria della normalizzazione. Aspetti introduttivi. Dipendenze funzionali. Assiomi di Armstrong. Calcolo della chiusura transitiva, insiemi di copertura, insiemi minimali. Scomposizioni lossless join. Scomposizioni che preservano le dipendenze funzionali. Terza forma normale. Forma normale Boyce-Codd. Algoritmi per la determinazione di scomposizioni in forma normale Boyce-Codd e di scomposizioni in terza forma normale.
- Cenni all'architettura di un DBMS. Cenni a strutture di memorizzazione, strutture fisiche di accesso, gestione del buffer. Cenni a ottimizzazione di interrogazioni. Nozione di transazione. Anomalie delle transazioni concorrenti. Gestione dei guasti. Cenni a meccanismi di controllo dell'accesso.
Bibliografia
Libro di testo:
B.Catania, E.Ferrari, G.Guerrini. Sistemi di gestione dati: concetti e architetture. UTET Universitā, DeAgostini Scuola, 2006. (Nel corso vengono trattati i capp. 1-6 del libro).
Altri testi consigliati:
- R. Elmasri e S.B. Navathe. Fundamentals of database systems. Fourth Edition. Pearson Education/Addison Wesley, 2004. Anche in italiano: Sistemi di basi di dati - Fondamenti, Addison-Wesley Italia, 2004.
- R. Ramakrishnan e J. Gehrke. Database Management Systems. Third Edition. McGraw-Hill, 2003. Anche in italiano: Sistemi di basi di dati, Mc-Graw-Hill Italia, 2004.
- J. D. Ullman e J. Widom. A first course in database systems. McGraw-Hill, 1997. Anche in italiano: Introduzione ai database, Jackson libri, 2000.
- A. Albano, G. Ghelli e R. Orsini. Fondamenti di basi di dati. Zanichelli, Bologna, 2005.
- P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati - Modelli e linguaggi di interrogazione. Seconda edizione. Mc-Graw-Hill Italia, 2006.
- C. Batini, S. Ceri ed S.B. Navathe. Conceptual database design. Benjamin/Cummings, 1992. Anche in italiano: La progettazione concettuale dei dati, editore Franco Angeli.
- C.J. Date e H. Darwen. A Guide to the SQL Standard. Addison-Wesley, 1992.
- J. Melton, A. Simon, J. Gray. SQL:1999 - Understanding Relational Language Components. Morgan Kaufmann, 2001.
- E. Baralis, A. Belussi, G. Psaila. Basi di Dati - Temi d'esame svolti. Progetto Leonardo. Editrice Esculapio - Bologna, 1999. (Esercizi)
Modalità di esame
Una prova orale preceduta dallo svolgimento di due compitini durante l'anno. I compitini falliti possono essere sostituiti da una breve prova scritta da svolgersi in sede d'esame.