BASI DI DATI

Crediti: 
9
Settore scientifico disciplinare: 
INFORMATICA (INF/01)
Anno accademico di offerta: 
2017/2018
Semestre dell'insegnamento: 
Primo Semestre
Lingua di insegnamento: 

Italiano

Obiettivi formativi

Con riferimento agli indicatori di Dublino:

Conoscenza e capacità di comprensione
Il corso è suddiviso in due parti. La prima parte del corso si pone come obiettivi l'acquisizione delle nozioni di base sui sistemi di gestione di basi di dati, con particolare riferimento ai sistemi che utilizzano il modello relazionale, e dei vari modi per poter interagire con essi. La seconda parte del corso si propone di mostrare le metodologie e tecniche di progettazione di una base di dati relazionale.

Capacità di applicare conoscenza e comprensione
Le conoscenze teoriche presentate sono concretamente utilizzate per la progettazione ed utilizzo di basi di dati relazionali nel contesto di uno specifico DBMS (PostgreSQL). Le esercitazioni sull'uso del linguaggio SQL si focalizzano in primo luogo sulla correttezza, leggibilità e portabilità delle interrogazioni. Le esercitazioni sulla progettazione di basi di dati sono incentrate a comprendere l'adeguatezza dello schema progettato per modellare la realtà di interesse, nonché a valutarne flessibilità e robustezza.

Autonomia di giudizio
Nella parte del corso dedicata alla progettazione delle basi di dati si evidenzia come lo stesso problema possa essere affrontato e risolto in vari modi: lo studente è incentivato a confrontare le varie alternative con spirito critico, evidenziandone pregi e difetti.

Abilità comunicative
Gli esercizi di progettazione delle basi di dati richiedono di comprendere e sapere esporre efficacemente le caratteristiche principali della realtà di interesse a vari livelli di astrazione. Le fasi iniziali della progettazione, avendo come presupposto la raccolta ed analisi dei requisiti, forniscono un'occasione per esercitare le proprie capacità di comunicazione in contesti non specializzati. Nelle fasi successive, più vicine all'implementazione, si richiede invece la capacità di comunicare efficacemente e senza ambiguità gli aspetti più prettamente tecnologici.

Capacità di apprendimento
Lo studio teorico e l'applicazione pratica delle nozioni di base sui sistemi di gestione di basi di dati relazionali, oltre a fornire strumenti indispensabili nel bagaglio di conoscenze del laureato in Informatica,
sono un prerequisito essenziale per ogni successivo approfondimento specialistico nel campo delle basi di dati, anche al fine di saperne interpretare in autonomia le evoluzioni dettate dagli avanzamenti della tecnologia o dai cambiamenti di contesto.

Prerequisiti

Si richiede la conoscenza delle nozioni di base di programmazione. La
conoscenza di alcuni concetti alla base dello studio dei sistemi operativi e
delle reti di comunicazione dati è opportuna (anche se non
fondamentale)

Contenuti dell'insegnamento

Introduzione ai sistemi di gestione di basi di dati.
Il modello relazionale dei dati.
Algebra e calcolo relazionale.
Il linguaggio SQL.
Utilizzo di SQL nei linguaggi di programmazione.
Gestione delle transazioni.
Sicurezza e gestione dei diritti di accesso.
Basi di dati attive.
Metodologie per il progetto di basi di dati: progettazione concettuale,
logica e fisica.
Il modello Entità-Relazione.
Normalizzazione di schemi di basi di dati.

Il corso prevede l'introduzione ad uno specifico sistema di gestione di
basi di dati (PostgreSQL), utilizzando il quale verranno riproposti, in
termini di esercitazioni pratiche, gli argomenti elencati sopra.

Bibliografia

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone.
Basi di dati: modelli e linguaggi di interrogazione,
McGraw-Hill, 2013 (quarta edizione).

PostgreSQL 9.3
Documentation
The PostgreSQL Global Development Group
The PostgreSQL Global Development Group

Alcune lezioni saranno basate su dispense reperibili sul web.

Metodi didattici

Lezioni frontali, esercitazioni guidate, laboratorio.

Modalità verifica apprendimento

Esame scritto ed orale.

Per accedere all'esame scritto, lo studente dovrà sostenere e superare una prova in itinere. Lo studente che non ha sostenuto o non ha superato la prova in itinere, per poter accedere allo scritto, dovrà completare una esercitazione individuale che verrà valutata dal docente prima dell'appello.