Il corso ha come obiettivo l'acquisizione degli strumenti, dei modelli e dei linguaggi per l'utilizzo, la progettazione e lo sviluppo di basi di dati relazionali e di applicazioni per tali basi di dati. Più specificatamente, gli obiettivi formativi sono i seguenti: 1. Comprendere le caratteristiche ed i principali servizi offerti da un sistema di gestione di basi di dati. 2. Conoscere e comprendere il modello relazionale per la gestione dati. 3. Conoscere e saper utilizzare lo standard SQL, sia per la creazione dello schema di una base di dati e la specifica di vincoli di correttezza, sia per la manipolazione e l’interrogazione delle sue istanze. 4. Conoscere le principali soluzioni per lo sviluppo di una applicazione che si interfaccia ad una base di dati; conoscere il concetto di transazione e i servizi messi a disposizione da un DBMS per la loro esecuzione concorrente. 5. Conoscere e utilizzare JDBC per la realizzazione di programmi object-oriented che si interfacciano ad una base di dati. 6. Conoscere le principali metodologie per la progettazione di una base di dati relazionale. 7. Conoscere e saper utilizzare il modello Entità-Relazione per la progettazione concettuale di una base di dati. 8. Saper affrontare tutte le fasi della progettazione di una base di dati relazionale, con particolare riferimento alla progettazione concettuale e logica. La conoscenza dei modelli per la gestione dati e dei relativi linguaggi permette l’acquisizione di adeguate capacità per l'approfondimento individuale delle proprie conoscenze e per lo sviluppo di nuove competenze. Ad esempio, non dovrebbe essere difficile per uno studente che ha seguito proficuamente il corso, apprendere autonomamente i concetti base di un nuovo modello non relazionale dei dati o la programmazione di applicazioni che si interfacciano ad una base di dati con un linguaggio diverso dal linguaggio Java visto a lezione.
Prerequisiti
È richiesta la capacità di programmare in Java. Le conoscenze e abilità necessarie per un proficuo apprendimento di questo insegnamento sono impartite nel corso fondamentale del primo anno di Programmazione, che dunque costituisce propedeuticità obbligatoria.