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/2026Il 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 |
---|
2° Anno Attivato nell'A.A. 2011/2012
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti:
3° Anno Attivato nell'A.A. 2012/2013
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti:
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti:
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti:
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 (2012/2013)
Codice insegnamento
4S00037
Crediti
12
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
L'insegnamento è organizzato come segue:
Teoria
Laboratorio
Obiettivi formativi
Prima parte: Teoria
-------------------
La parte di "Teoria" dell'insegnamento “Basi di dati” ha lo scopo di fornire allo studente le conoscenze necessarie per la progettazione di una base di dati e delle relative applicazioni. In particolare nel corso si illustreranno in dettaglio le metodologie per la progettazione concettuale di una base di dati e per la successiva realizzazione della stessa sui più diffusi sistemi per la gestione di basi di dati. Inoltre si presenteranno alcune tecniche per la realizzazione dei sistemi per la gestione di basi di dati e si illustreranno le caratteristiche fondamentali del linguaggio di interrogazione SQL.
In aggiunta si forniranno allo studente le conoscenze necessarie per la progettazione di un sito web centrato sui dati. In particolare nel corso si illustrerà in dettaglio una metodologia per la progettazione logica di una applicazione web che interagisca con un sistema per la gestione di basi di dati (DBMS). Lo studente alla fine del corso sarà in grado di definire autonomamente le specifiche per la progettazione logica di una sito web centrato sui dati e di realizzare l'applicazione web che lo implementa usando l'approccio Model View Controller (MVC-2).
Infine si presenteranno alcuni temi piu' specifici della multimedialità nella gestione di basi di dati, quali: XML, strutture dati e di accesso multidimensionali.
Seconda parte: Laboratorio
--------------------------
La parte di "Laboratorio" dell'insegnamento di "Basi di dati e Web" si propone di introdurre lo studente ai seguenti argomenti:
* uso di un Database Management System (DBMS) per la creazione/gestione/interrogazione di una base di dati;
* realizzazione di siti web dinamici che presentano informazioni memorizzate su basi di dati.
Le tecnologie principali utilizzate nelle esercitazioni sono le servlet e le Java Server Pages (JSP), per cui si assume che lo studente abbia una discreta conoscenza del linguaggio di programmazione Java.
Programma
Prima parte: 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. 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. Traduzione di schemi concettuali in schemi relazionali. Linguaggi per la definizione di una base di dati relazionale: il linguaggio SQL. Istruzioni SQL per: la creazione di una relazione e la definizione di vincoli di integrità.
* Interazione con una base di dati: Introduzione ai linguaggi per la definizione, modifica e interrogazione di una base di dati. L’algebra relazionale. Il linguaggio SQL: il costrutto di selezione (Select-From-Where), interrogazioni nidificate, ordinamento e raggruppamento dei dati; il costrutto di inserimento, cancellazione e aggiornamento (Insert, Delete, Update). Il concetto di vista.
* L'architettura interna di un sistema per la gestione di basi di dati: Rilevanza dei sistemi transazionali. Concetto di transazione. Proprietà di una transazione. Il 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).
Le esercitazioni pratiche riguarderanno la progettazione logica di un sito web centrato sui dati e la sua implementazione in ambiente: Postgres, Servlet e Java Server Pages (JSP). Tali esercitazioni si svolgeranno nell’ambito del modulo di Laboratorio svolto in parallelo a questo modulo (per il programma dettagliato del laboratorio si veda la pagina web del modulo medesimo).
* Server WEB: Richiami sulla rete Internet. Cenni al linguaggio HTML (struttura di un documento HTML, marcatori principali, form). Cenni al protocollo HTTP.
* I sistemi informativi su WEB: Tecniche e strumenti per l’interazione tra una base di dati e un server HTTP: CGI, approccio basato su estensioni del server WEB (servlet), immersione di codice in HTML (Java Server Pages - JSP). Interazione tra server HTTP e DBMS: libreria Java Database Connectivity (JDBC) e le classi Java bean. Architetture di riferimento per la realizzazione di una sito web centrato sui dati: Model View Controller (MVC-2).
* Una metodologia per la realizzazione di siti web centrati sui dati: Fase 1: un linguaggio formale per la specifica del contenuto informativo e della struttura navigazionale di un sito web centrato sui dati. Fase 2: un linguaggio formale per la specifica della corrispondenza tra le pagine dinamiche del sito web e una base di dati.
* Caratteristiche generali della multimedialità dei dati; tecniche di acquisizione di dati multimediali; formati di memorizzazione; tecniche di indicizzazione multidimensionale.
Seconda parte: Laboratorio
--------------------------
1. Introduzione al DBMS PostgreSQL: Connessione ad un database, uso di semplici comandi di controllo, creazione di tabelle.
2. PostgreSQL: vincoli di integrità, politiche di reazione alle violazioni dei vincoli di integrità referenziale.
3. PostgreSQL: interrogazioni SQL semplici.
4. PostgreSQL: interrogazioni SQL complesse.
5. Linguaggio HTML: struttura di un documento HTML, marcatori fondamentali, tabelle.
6. Linguaggio HTML: form.
7. Installazione di un engine sul server WEB per la gestione delle servlet. Esempi di servlet semplici.
8. Servlet e JDBC. Connessione ad un DBMS PostgreSQL. Uso di semplici servlet di interazione con DBMS: query semplici, composte.
9. Java bean e servlet.
10. Java Server Pages (JSP), PHP e altri linguaggi di programmazione per il web.
11. JSP e servlet per un approccio di sviluppo Model View Controller.
12. Servlet/JSP e dati multimediali.
Bibliografia
Attività | Autore | Titolo | Casa editrice | Anno | ISBN | Note |
---|---|---|---|---|---|---|
Teoria | P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone | Basi di dati. Architetture e linee di evoluzione | McGraw-Hill | 2003 | 88-386-603 | |
Teoria | P. ATZENI, S. CERI, S. PARABOSCHI, R. TORLONE | Basi di dati- Modelli e linguaggi di interrogazione (Edizione 3) | McGraw-Hill | 2009 | 9788838666001 | |
Teoria | E. Baralis, A. Belussi, G. Psaila | Basi di dati - Temi d'esame svolti (Edizione 1) | Progetto Leonardo Società Editrice Esculapio Bologna | 1999 | B135655713 |
Modalità d'esame
L'esame è orale. Per l'ammissione all'esame orale lo studente deve superare una prova scritta di 3 ore circa che consiste in alcuni esercizi sulla progettazione e interrogazione di una base di dati, in esercizi e domande sulla progettazione di un sito web centrato sui dati e sui dati multimediali, in alcune domande sulla parte di teoria e in un esercizio sulla parte di laboratorio. L'esercizio sulla parte di laboratorio verifica le capacità di progettare e realizzare una interfaccia ad un base di dati (anche multimediali) via WEB utilizzando l'approccio MVC-2 e la tecnologia JSP/Servlet.
La prova scritta si intende superata se lo studente ottiene una votazione di almeno 18/30 negli esercizi relativi alla prima parte (teoria) e almeno 18/30 negli esercizi relativi alla parte di laboratorio. Il voto complessivo della prova scritta si ottiene calcolando la media pesata del voto relativo alla teoria (peso 3/4) e del voto relativo al laboratorio (peso 1/4).
Alla prova orale lo studente può decidere di verbalizzare il voto della prova scritta o di essere riesaminato mediante colloquio. In tal caso il voto finale dell'esame sarà basato puramente sul colloquio senza tenere in alcun conto l'esito della prova scritta.
Materiale e documenti
-
Algebra relazionale: ottimizzazione (it, 293 KB, 12/10/12)
-
Applicazioni Web: Data Beans (it, 460 KB, 4/15/13)
-
Applicazioni Web: esempio di servlet & JDBC (it, 147 KB, 4/9/13)
-
Applicazioni Web: introduzione e protocollo HTTP (it, 357 KB, 3/26/13)
-
Applicazioni Web: JDBC (it, 490 KB, 4/8/13)
-
Applicazioni Web: JSP (it, 426 KB, 4/16/13)
-
Applicazioni Web: metodologia (aggiornato) (it, 316 KB, 4/15/13)
-
Applicazioni Web: MVC-2 (it, 450 KB, 4/29/13)
-
Applicazioni Web: PHP cenni (it, 364 KB, 4/30/13)
-
Applicazioni Web: servlet (it, 261 KB, 4/8/13)
-
Concorrenza I (it, 664 KB, 3/5/13)
-
Concorrenza II (it, 588 KB, 3/11/13)
-
Dati multimediali: codifica di Huffman & LZW (it, 431 KB, 5/27/13)
-
Dati multimediali: introduzione (it, 413 KB, 5/13/13)
-
Dati multimediali: k-d-tree (it, 358 KB, 5/27/13)
-
Esercitazione sulla seconda prova intermedia (it, 334 KB, 5/29/13)
-
Introduzione (it, 758 KB, 10/1/12)
-
Progettazione logica (it, 1127 KB, 11/13/12)
-
SQL-1 (it, 238 KB, 12/11/12)
-
SQL-2 (it, 241 KB, 12/17/12)
-
SQL-3 (it, 216 KB, 12/18/12)
-
Strategie per la progettazione concettuale (it, 142 KB, 10/22/12)
-
Strutture di accesso ai dati I (it, 560 KB, 3/19/13)
-
Strutture di accesso ai dati II (it, 1801 KB, 3/19/13)
-
Transazioni (it, 258 KB, 3/5/13)
-
XML (it, 1128 KB, 4/30/13)
-
XML: DTD (it, 284 KB, 5/13/13)
-
XML: esercizio (it, 141 KB, 5/8/13)
-
XMLSchema (it, 983 KB, 5/6/13)
-
Esercitazione 10: lucidi (it, 506 KB, 5/29/13)
-
Esercitazione 10: php.zip (it, 1 KB, 5/29/13)
-
Esercitazione 11: cos.jar (it, 55 KB, 6/5/13)
-
Esercitazione 11: esercizio (it, 65 KB, 6/5/13)
-
Esercitazione 11: lucidi (it, 208 KB, 6/5/13)
-
Esercitazione 11: photos.src (it, 4 KB, 6/5/13)
-
Esercitazione 11: photos.webapp (it, 77 KB, 6/5/13)
-
Esercitazione 1: esercizio (it, 42 KB, 3/6/13)
-
Esercitazione 1: lucidi (it, 637 KB, 3/5/13)
-
Esercitazione 2: esercizio (it, 123 KB, 3/20/13)
-
Esercitazione 2: lucidi (it, 982 KB, 3/19/13)
-
Esercitazione 3: esercizio (it, 81 KB, 3/26/13)
-
Esercitazione 3: lucidi (it, 610 KB, 3/26/13)
-
Esercitazione 4: esercizio (it, 69 KB, 3/27/13)
-
Esercitazione 4: lucidi (it, 397 KB, 3/27/13)
-
Esercitazione 5: esercizio (it, 52 KB, 4/3/13)
-
Esercitazione 5: lucidi (it, 2032 KB, 4/3/13)
-
Esercitazione 6: esercizio (it, 40 KB, 4/10/13)
-
Esercitazione 6: lucidi (it, 1074 KB, 4/10/13)
-
Esercitazione 6: tomcat (it, 41 KB, 4/10/13)
-
Esercitazione 7: esercizio (it, 44 KB, 4/17/13)
-
Esercitazione 7: lucidi (it, 657 KB, 4/17/13)
-
Esercitazione 7: servlet con bean (it, 4 KB, 4/17/13)
-
Esercitazione 7: servlet senza bean (it, 2 KB, 4/17/13)
-
Esercitazione 8: corsi.jsp (it, 0 KB, 5/8/13)
-
Esercitazione 8: esempiJSP (it, 1 KB, 5/8/13)
-
Esercitazione 8: esercizio (it, 85 KB, 5/8/13)
-
Esercitazione 8: lucidi (it, 766 KB, 5/8/13)
-
Esercitazione 9: daFare.jsp (it, 0 KB, 5/22/13)
-
Esercitazione 9: esercizio (it, 88 KB, 5/22/13)
-
Esercitazione 9: lucidi (it, 520 KB, 5/21/13)
-
Esercitazione 9: main.java (it, 3 KB, 5/22/13)