Modulo | Crediti | Settore disciplinare | Periodo | Docenti |
---|---|---|---|---|
Laboratorio | 2 | INF/01-INFORMATICA | 3° Q |
Rosalba Rossato
|
Teoria: basi di dati | 6 | INF/01-INFORMATICA | 2° Q, 3° Q |
Alberto Belussi
|
Teoria: siti web centrati sui dati | 2 | INF/01-INFORMATICA | 3° Q |
Alberto Belussi
|
L'insegnamento “Basi di dati e WEB” 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 implementazione della stessa sui più diffusi sistemi per la gestione di basi di dati. Inoltre si presenteranno alcune tecniche generali per la realizzazione dei moduli interni dei sistemi per la gestione di basi di dati e si illustreranno le caratteristiche fondamentali del linguaggio di interrogazione SQL.
Inoltre 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) e la successiva implementazione della stessa usando l'approccio Model View Controller (MVC-2).
Modulo: Teoria: basi di dati
-------
* 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).
Modulo: Teoria: siti web centrati sui dati
-------
Il modulo prevede 16 ore di lezione/esercitazione in aula che verranno svolte nel terzo quadrimestre. 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.
Argomenti:
* 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.
Modulo: Laboratorio
-------
Il modulo viene svolto in 24 ore di esercitazione in laboratorio. Si ricorda che il corso vale 2 CFU, per cui sono previste ulteriori 26 ore di lavoro individuale da svolgersi presso i laboratori didattici.
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)
11. JSP e servlet per un approccio di sviluppo Model View Controller: cenni
Gli esami dei moduli "Teoria: basi di dati", "Teoria: siti web centrati sui dati" e "Laboratorio" dell'insegnamento Basi di Dati e WEB si svolgono contemporaneamente. 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, 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 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 al primo modulo (teoria), almeno 18/30 negli esercizi relativi al secondo modulo (siti web centrati sui dati) e una valutazione di 18/30 nell'esercizio di laboratorio. Il voto complessivo della prova scritta si ottiene calcolando la media pesata del voto relativo al primo modulo (peso 3/5), del voto relativo al secondo modulo (peso 1/5) e del voto relativo al laboratorio (peso 1/5).
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.
Lo studente che dovesse superare una sola parte della prova scritta può recuperare l'altra parte durante gli appelli d'esame successivi. In tal caso lo studente avrà a disposizione 2 ore e 30 minuti circa per recuperare la parte relativa ai due moduli di teoria e 1 ora circa per recuperare la parte di laboratorio. Nel caso in cui lo studente sostenga le due prove nello stesso appello, la media pesata verrà aumentata di un punto.
Autore | Titolo | Casa editrice | Anno | ISBN | Note |
Don Box, Aaron Skonnard, John Lam | Essential XML: Oltre il Markup | Addison Wesley | 2001 | 8871921186 | |
Phil Hanna | JSP. La guida Completa | McGraw-Hill | 2001 | 8838642079 | |
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone | Basi di dati. Architetture e linee di evoluzione | McGraw-Hill | 2003 | 88-386-603 | |
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone | Basi di dati, modelli e linguaggi di interrogazione | McGraw-Hill | 2002 | 8838660085 | |
E. Baralis, A. Belussi, G. Psaila | Basi di dati - Temi d'esame svolti (Edizione 1) | Progetto Leonardo Società Editrice Esculapio Bologna | 1999 | B135655713 |
******** CSS e script comuni siti DOL - frase 9957 ********p>