elenco    
        corso    

Basi di dati

Codice: AA016Crediti: 6Semestre: 2Sigla: BD 
 
Settore disciplinare: INF/01 - Informatica

Docente

Gualtiero Leoni   leoni@di.unipi.it  Tel. 0502212700

Ultima versione disponibile: programma da confermare per l’a.a. 2009/2010

Prerequisiti

Fondamenti di Programmazione. Linguaggio e metodi della matematica. Laboratorio di introduzione alla programmazione. Laboratorio di programmazione di strutture dati. Sistemi Operativi.

Obiettivi 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.
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

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 ad oggetti ed 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) 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 object 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.

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

Modalità di esame

Prove di verifica intermedie, oppure esame scritto; esame orale.

home


email