Dati Generali
Periodo di attività
Primo Semestre (23/09/2024 - 20/12/2024)
Syllabus
Obiettivi Formativi
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.
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.
Metodi didattici
Il corso si articola in lezioni frontali (64 ore) ed esercitazioni (16 ore).
Le lezioni sono dedicate ad illustrare i concetti base dei sistemi di gestione dati, del modello relazionale, dei linguaggi per la sua implementazione e manipolazione (sia in modalità stand-alone che tramite un programma applicativo) e delle tecniche e degli strumenti adatti alla progettazione di una base di dati.
Alcuni degli argomenti trattati a lezione sono oggetto di esercitazioni che prevedono la partecipazione attiva degli studenti e comprendono l’utilizzo di SQL su un DBMS commerciale, la programmazione di applicazioni Java che si interfacciano ad una base di dati mediante JDBC e l’esemplificazione delle tecniche di progettazione mediante la presentazione e la discussione di casi di studio.
Le lezioni sono dedicate ad illustrare i concetti base dei sistemi di gestione dati, del modello relazionale, dei linguaggi per la sua implementazione e manipolazione (sia in modalità stand-alone che tramite un programma applicativo) e delle tecniche e degli strumenti adatti alla progettazione di una base di dati.
Alcuni degli argomenti trattati a lezione sono oggetto di esercitazioni che prevedono la partecipazione attiva degli studenti e comprendono l’utilizzo di SQL su un DBMS commerciale, la programmazione di applicazioni Java che si interfacciano ad una base di dati mediante JDBC e l’esemplificazione delle tecniche di progettazione mediante la presentazione e la discussione di casi di studio.
Verifica Apprendimento
L’obiettivo della prova d’esame è l'accertamento dell’acquisizione delle conoscenze e delle abilità descritte nella sezione “Obiettivi del corso”, valutando il livello di conoscenza e soprattutto la capacità di utilizzare i linguaggi e le tecniche viste a lezione.
L'esame consiste di una prova scritta della durata di 2 ore circa senza l'aiuto di appunti o libri e da eseguire senza l’ausilio di un computer. La prova scritta consiste di 2 parti. La prima parte consta di 6 domande di teoria, a cui è attribuito uguale punteggio pari a 5, mentre la seconda parte consiste di 3 esercizi. Le domande di teoria hanno come argomento le conoscenze illustrate nella sezione “Contenuti del corso” e richiedono una risposta sintetica. Gli esercizi sono volti ad accertare le conoscenze di SQL e delle metodologie di progettazione. In particolare, il primo esercizio verte sui comandi di SQL DDL, il secondo richiede la formulazione di un insieme di query SQL, mentre l’ultimo esercizio verte sulla progettazione concettuale e logica. Il primo esercizio consente di norma di ottenere un massimo di 8 punti, il secondo 12, mentre il terzo 10. L’attribuzione del voto finale è determinata per 1/3 dal voto ottenuto nella prima parte (domande teoriche) e per 2/3 dal voto ottenuto nella seconda parte (esercizi). Il voto è espresso in trentesimi. Per superare l’esame bisogna ottenere un minimo di 18/30 in entrambe le parti.
L'esame consiste di una prova scritta della durata di 2 ore circa senza l'aiuto di appunti o libri e da eseguire senza l’ausilio di un computer. La prova scritta consiste di 2 parti. La prima parte consta di 6 domande di teoria, a cui è attribuito uguale punteggio pari a 5, mentre la seconda parte consiste di 3 esercizi. Le domande di teoria hanno come argomento le conoscenze illustrate nella sezione “Contenuti del corso” e richiedono una risposta sintetica. Gli esercizi sono volti ad accertare le conoscenze di SQL e delle metodologie di progettazione. In particolare, il primo esercizio verte sui comandi di SQL DDL, il secondo richiede la formulazione di un insieme di query SQL, mentre l’ultimo esercizio verte sulla progettazione concettuale e logica. Il primo esercizio consente di norma di ottenere un massimo di 8 punti, il secondo 12, mentre il terzo 10. L’attribuzione del voto finale è determinata per 1/3 dal voto ottenuto nella prima parte (domande teoriche) e per 2/3 dal voto ottenuto nella seconda parte (esercizi). Il voto è espresso in trentesimi. Per superare l’esame bisogna ottenere un minimo di 18/30 in entrambe le parti.
Contenuti
Le lezioni affronteranno i seguenti argomenti:
Introduzione alle basi di dati e ai sistemi di gestione di basi di dati (4h, obiettivo formativo 1)
- concetti introduttivi
- dai sistemi operativi ai DBMS
- obiettivi e servizi di un DBMS
- modelli dei dati ed evoluzioni
- livelli nella rappresentazione dei dati
- linguaggi ed utenti di un DBMS
Il modello relazionale (6 h, obiettivo formativo 2)
- relazioni
- valori nulli
- chiavi e chiavi esterne
Il linguaggio SQL – comandi del DDL (4 h, obiettivo formativo 3)
- tipi di dato,
- creazione di relazioni
- cancellazione e modifica di relazioni
Interrogazioni SQL (12 h, obiettivo formativo 3)
- formato di base del comando SELECT
- operatori e funzioni
- ordinamento del risultato di un’interrogazione
- operazione di join
- funzioni di gruppo e raggruppamento
- valori nulli
- sotto-interrogazioni
- operazioni insiemistiche
Operazioni di aggiornamento in SQL (4 h, obiettivo formativo 3)
- inserimento di tuple
- cancellazione di tuple
- modifica di tuple
Ulteriori comandi SQL (4 h, obiettivo formativo 3)
- vincoli CHECK ed asserzioni
- controllo di vincoli di integrità
- viste
SQL e linguaggi di programmazione . (5 h, obiettivo formativo 4/5)
- estensioni procedurali di SQL
- librerie di funzioni (JDBC)
- SQL ospitato
Il concetto di transazione – cenni (2 h, obiettivo formativo 4)
Progettazione di basi di dati (2 h, obiettivo formativo 6)
- fasi della progettazione
Modello Entità-Relazione (4 h, obiettivo formativo 7)
- costrutti di base
- vincoli di integrità
- gerarchie di generalizzazione
Metodologie di progettazione (6 h, obiettivo formativo 6)
- raccolta ed analisi dei requisiti
- ristrutturazione delle specifiche
- generazione schemi ER
- verifica di qualità di schemi ER
Progettazione logica - fase di ristrutturazione (5 h, obiettivo formativo 8)
- eliminazione degli attributi composti e multi valore
- eliminazione delle gerarchie di generalizzazione
Progettazione logica - fase di traduzione (6 h, obiettivo formativo 8)
- traduzione entità
- traduzione associazioni
- schema finale ed ottimizzazioni
Lingua Insegnamento
ITALIANO
Altre informazioni
La docente riceve su appuntamento, previa richiesta via e-mail a nome.cognome@uninsubria.it. La docente risponde solo alle e-mail firmate e provenienti dal dominio studenti.uninsubria.it.
Corsi
Corsi
INFORMATICA
Laurea
3 anni
No Results Found
Persone
Persone (2)
Docenti di ruolo di Ia fascia
Docenti di ruolo di IIa fascia
No Results Found