Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso. Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:
Laurea in Informatica - Immatricolazione dal 2025/2026.Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
Insegnamenti | Crediti | TAF | SSD |
---|
Analisi matematica I
Architettura degli elaboratori
2° Anno Attivato nell'A.A. 2019/2020
Insegnamenti | Crediti | TAF | SSD |
---|
3° Anno Attivato nell'A.A. 2020/2021
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta
Insegnamenti | Crediti | TAF | SSD |
---|
Analisi matematica I
Architettura degli elaboratori
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta
Legenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Basi di dati (2020/2021)
Codice insegnamento
4S00037
Crediti
12
Lingua di erogazione
Italiano
Offerto anche nei corsi:
- Basi di dati e web del corso Laurea in Bioinformatica [L-31]
Settore Scientifico Disciplinare (SSD)
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
L'insegnamento è organizzato come segue:
Teoria
Tecnologie per le basi di dati
Laboratorio
Obiettivi formativi
Il corso si propone di fornire le competenze necessarie per:
(i) la progettazione dei dati in funzione dei requisiti con riferimento a diversi contesti applicativi e nell'ambito del processo di produzione di sistemi software;
(ii) la gestione e fruizione efficace ed efficiente dei dati;
(iii) l'uso di un sistema per la gestione di basi di dati relazionali al fine di creare, gestire e interrogare basi di dati;
(iv) lo sviluppo di applicazioni che interagiscono con basi di dati relazionali.
Al termine del corso lo studente dovrà dimostrare di avere conoscenze e capacità di comprensione dei modelli dei dati e dei linguaggi di interrogazione che caratterizzano i sistemi per la gestione dei dati e conoscenza dei meccanismi fondamentali per sviluppare applicazioni che interagiscano con una base di dati; avere capacità di applicare le conoscenze acquisite e capacità di comprensione per la progettazione di una collezione di dati in modo efficace rispetto ad un insieme di requisiti applicativi, capacità di interrogare e fruire in modo efficiente dei dati gestiti da un sistema, capacità di progettare e implementare un'applicazione che interagisce con una base di dati; saper sviluppare le competenze necessarie per proseguire gli studi in modo autonomo nell’ambito dei sistemi per la gestione dei dati e dello sviluppo di soluzioni software.
Programma
Il programma viene specificato di seguito per ogni modulo.
Modulo di Teoria
-------------------------
- Introduzione ai sistemi per la gestione di basi di dati: architettura e funzionalità di un sistema per la gestione di basi di dati; concetti di indipendenza fisica, indipendenza logica, persistenza, concorrenza, affidabilità, interrogazione e aggiornamento di una base di dati; vantaggi di un sistema per la gestione di basi di dati rispetto al file system di un sistema operativo.
- Progettazione concettuale di una base di dati: modelli concettuali per il progetto dei dati; il modello Entità-Relazione (E-R); elementi del modello E-R: entità, attributi, relazioni, gerarchie di generalizzazione e vincoli di cardinalità; lo schema concettuale di una base di dati.
- Progettazione logica di una base di dati: modelli dei dati per i sistemi di gestione di basi di dati; il modello relazionale; definizioni di relazione, vincoli di integrità e schema relazionale; lo schema logico di una base di dati; regole per la traduzione di schemi concettuali in schemi relazionali.
- Interazione con una base di dati: introduzione ai linguaggi per la definizione, modifica e interrogazione di una base di dati; l’algebra relazionale; ottimizzazione di espressioni dell'algebra; il linguaggio SQL; il costrutto di selezione (Select-From-Where), interrogazioni nidificate, ordinamento e raggruppamento dei dati in SQL; il concetto di vista.
Modalità di erogazione della didattica: lezioni frontali, esercitazioni in aula con il docente, materiale didattico (lucidi) ed esercizi ulteriori disponibili sulla piattaforma eLearning, ricevimento negli orari indicati sulla pagina web del docente.
Modulo di Laboratorio
--------------------------------
- Introduzione al relational data base management system (RDBMS) PostgreSQL.
- Introduzione all'uso di SQL-2 in PostgreSQL (con estensioni).
- Ottimizzazione di query.
- Introduzione alle transazioni.
- Introduzione al linguaggio Python.
- Accesso alla basi dati da programmi Java o Python.
Modalità di erogazione della didattica: lezioni frontali in aula ed esercitazioni in laboratorio informatico, materiale didattico (lucidi) ed ulteriori esercizi sulla piattaforma eLearning, ricevimento individuale negli orari concordati con il docente.
Modulo di Tecnologie per le basi di dati
---------------------------------------------------------
- L'architettura interna di un sistema per la gestione di basi di dati (DBMS): rilevanza dei sistemi transazionali, concetto di transazione, proprietà di una transazione, controllo della concorrenza (il metodo basato sul locking a due fasi), metodi di accesso ai dati (strutture dati sequenziali e indici B-trees e hashing), esecuzione e ottimizzazione di interrogazioni.
- Interazione tra DBMS e applicazioni.
- XML: caratteristiche generali, definizione di una sintassi XML usando XML schema, uso di UML per la progettazione concettuale di dati XML (cenni).
Modalità di erogazione della didattica: lezioni frontali, esercitazioni in aula con il docente, materiale didattico (lucidi) ed esercizi ulteriori disponibili sulla piattaforma eLearning, ricevimento negli orari indicati sulla pagina web del docente.
Bibliografia
Attività | Autore | Titolo | Casa editrice | Anno | ISBN | Note |
---|---|---|---|---|---|---|
Tecnologie per le basi di dati | P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone | Basi di dati (Edizione 4) | McGraw-Hill | 2014 | 978-88-386-6587-5 | |
Laboratorio | Sara Migliorini | Materiale fornito in laboratorio |
Modalità d'esame
L'esame è composto di due parti: Teoria e Tecnologie+Laboratorio.
Per superare l'esame gli studenti dovranno dimostrare di:
- aver compreso i concetti che stanno alla base della teoria delle basi di dati relazionali e della loro progettazione e implementazione sui sistemi per la gestione di basi di dati relazionali
- essere in grado di esporre le proprie argomentazioni in modo preciso e organico senza divagazioni
- saper applicare le conoscenze acquisite per risolvere problemi applicativi presentati sotto forma di esercizi, domande e progetti.
Moduli di Teoria
--------------------------------------------------------------------
Per i moduli "Teoria" e "Tecnologie per le basi di dati" è prevista una prova scritta di 2,5 ore circa che consiste in un esercizio sulla progettazione concettuale (modello E-R) e logica (modello relazionale) di una base di dati, in alcuni esercizi sulle interrogazioni in algebra relazionale e SQL su una base di dati assegnata, in alcuni esercizi su XML e XML-Schema e in alcune domande sulla parte di teoria. Nella sezione TEMI D'ESAME E ALTRI ESERCIZI RIEPILOGATIVI della piattaforma eLearning sono disponibili temi d'esame degli anni precedenti.
E' possibile inoltre durante l'anno sostenere delle prove in itinere: tali prove sono fissate dal docente in accordo con gli studenti e vengono gestite sulla piattaforma eLearning. Si tratta di tre prove: la prima prova sulla progettazione di una base di dati relazionale: progettazione concettuale (modello E-R) e logica (modello relazionale), tale prova pesa 4/9 del voto di teoria; la seconda prova sull'interrogazione di una base di dati relazionale in algebra relazionale e SQL, tale prova pesa 3/9 del voto di teoria; infine, la terza prova sul programma del modulo di Tecnologie per le basi di dati, quest'ultima prova pesa 2/9 del voto di teoria.
Modulo di Laboratorio
---------------------------------
da definire
La valutazione finale in trentesimi si ottiene facendo la media del voto ottenuto nella prova di teoria e del voto ottenuto nella prova di Tecnologie+Laboratorio.