| | | | corso | | |
Basi di dati A
Codice: | AA016 | Crediti: | 6 | Semestre: | 1 | Sigla: | BD | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Gualtiero Leoni
Tel. 0502212700Prerequisiti
Programmazione. Nozioni di sistemi operativi: memoria persistente, file system. Nozioni di logica matematica: dualita' di De Morgan.
Obiettivi di apprendimento
Il corso presenta le conoscenze di base sulle funzionalità dei DBMS, sulla progettazione di basi di dati, sul modello dei dati relazionali e sull'uso del linguaggio SQL per la definizione e uso di basi di dati.
Conoscenze. Conoscenze di base sulle funzionalità dei DBMS, sulla progettazione di basi di dati, sul modello dei dati relazionali e sull'uso del linguaggio SQL per la definizione e uso di basi di dati.
Capacità. Progettare una base di dati, esprimere interrogazioni nel linguaggio SQL, estrarre le dipendenze funzionali da una descrizione informale, applicare gli algoritmi di base della teoria relazionale, descrivere gli algoritmi e le strutture dati usate per la realizzazione delle funzionalità di base di un DBMS.
Comportamenti. Effettuare la raccolta di requisiti e la progettazione di una base di dati. Valutare i vantaggi e gli svantaggi dell’adozione della tecnologia delle basi di dati in una situazione applicativa.
Descrizione
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 di questi sistemi, in
particolare quelli relazionali, la loro architettura e i principi ai quali si
ispirano, ponendosi principalmente dal punto di vista dei progettisti delle
applicazioni.
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) basic
skills in data base modelling using object, entity-relationship, and
relational data models; (c) the formalism, theory, and algorithms used in
relational database design to produce normalized schema; (d) the language
(SQL) and architecture of relational database management systems.
Indicazioni metodologiche
Per conseguire gli obiettivi indicati, sarà necessario:
- mantenere per tutta la durata del corso una costante attenzione al collegamento tra le nozioni presentate e la realtà del processo di progettazione e realizzazione delle basi di dati in ambito commerciale
- effettuare, all’inizio di ogni modulo, una presentazione che ne spieghi il rapporto con i moduli che lo precedono e lo seguono
- effettuare esercitazioni che siano mirate alle specifiche conoscenze e capacità che saranno verificate in sede di esame
- aiutare gli studenti a cogliere i differenti approcci da porre nello studio delle parti di natura più ingegneristica e di quelle di natura più matematica del corso
Programma
Ogni punto del programma è accompagnato dal numero di ore di lezione e di esercitazione previste, per un totale di 28-20 ore rispettivamente.
- I sistemi informativi e informatici. Funzionalità dei sistemi per la gestione di basi di dati (DBMS). (4h)
- I meccanismi di astrazione dei modelli dei dati a oggetti. La progettazione di basi di dati usando il modello a oggetti (5-5h).
- Il modello dei dati relazionale. La trasformazione di schemi a oggetti in schemi relazionali (1-1h).
- Il linguaggio SQL per creare e usare basi di dati. Interrogazioni semplici, giunzioni, quantificazioni esistenziali ed universali, raggruppamento (6-6h).
- La teoria relazionale delle basi di dati. Le dipendenze fra i dati. Decomposizioni di schemi relazionali. Forme normali. (6-6h).
- Architettura dei DBMS. Cenni alle funzionalità dei moduli per la gestione dei dati, delle transazioni e delle interrogazioni. (6-2h).
Bibliografia
- Libro di testo: A. Albano, G. Ghelli e R. Orsini, Fondamenti di Basi di Dati, Zanichelli, Bologna, 2005.
- Lucidi del corso.
- Esercizi svolti.
Modalità di esame
Prove di verifica intermedie, esame scritto per il recupero delle prove non superate, esame orale.