Programma del corso

Introduzione ai sistemi informativi
Sistemi informativi, informazioni e dati. L'impatto dei sistemi informativi sull'azienda. Basi di dati e sistemi di gestione di basi di dati. Modelli dei dati. Schemi e istanze. Livelli di astrazione nei DBMS. Indipendenza dei dati. Linguaggi e utenti delle basi di dati.
PARTE PRIMA: Il modello relazionale
Il modello relazionale. Strutture del modello relazionale.
Il modello relazionale: strutture. Relazioni e tabelle. Relazioni e basi di dati.Vincoli di integrita'. Chiavi. Vincoli di integrita' referenziale.
Algebra Relazionale
Operatori dell'algebra relazionale: unione, intersezione e differenza; ridenominazione; selezione e proiezione; join. Interrogazioni in algebra relazionale.
SQL
Tipi dei dati in SQL. Manipolazione dei dati in SQL. Query di tipo SELECT, INSERT e UPDATE, query insiemistiche. Query innestate.
Microsoft Access
Microsoft Access. Caratteristiche del sistema. La definizione delle tabelle. Specifica dei cammini di join. Popolamento delle tabelle. La definizione di query. Query By Example. L'interprete SQL. Maschere.
PARTE SECONDA: Progetto delle basi di dati
Metodologie e modelli per il progetto: modello E-R
Metodologie e modelli per il progetto. Introduzione alla progettazione. Cenni sul ciclo di vita dei sistemi informativi. Cenni sulle metodologie di progettazione e basi di dati. Il modello
Entita'-Relazione.
La progettazione logica
Cenni sull'analisi delle prestazioni su schemi E-R. Ristrutturazione di schemi E-R. Analisi delle ridondanze. Eliminazione delle generalizzazioni. Scelta degli identificatori principali. Traduzione verso il modello relazionale. Entita' e associazioni molti a molti. Associazioni uno a molti. Entita' con identificatore esterno. Associazioni uno a uno. Traduzioni di schemi complessi.
PARTE TERZA: Basi di Dati e World Wide Web
Tecnologie per il World Wide Web
Il World Wide Web originario, l'evoluzione verso l'interattivita'. Tecnologie di interattivita' per il Web. Tecnologie lato client. Tecnologie lato server. Principali tecnologie.
La tecnologia Java Server Pages
Fondamenti di HTML. Java Server Pages (JSP) e Java Servlet. Tipi di tag standard in JSP. Ciclo di vita di una JSP. Ciclo di esecuzione di una JSP. Oggetti automatici. L'input dei dati: uso del tag FORM in combinazione con l'oggetto request. Anatomia di un URI. Il problema della persistenza dello stato: session, cookie e utilizzo della stringa di query dell'URI. JavaBeans.
Applicazioni Web con Java Server Pages
Concorrenza e sincronizzazione nelle applicazioni basate su JSP. Campi di visibilita' delle variabili. Strutturazione di una applicazione: inclusione statica e dinamica, trasferimento delle richieste. Approccio Model 1 e Model 2 alla progettazione di applicazioni. Applicazioni N-tier e three-tier.
Il web e i dati
Interazione tra Web e basi di dati. Architettura di integrazione tra server web e DBMS. Il paradigma JDBC. Classi della libreria JDBC

Testi consigliati
Sulle generalita', la progettazione e l'interrogazione delle Basi di Dati, in alternativa:
Atzeni, Ceri, Paraboschi, Torlone, Basi di Dati II edizione, McGraw-Hill Italia
Atzeni, Ceri, Paraboschi, Torlone, Basi di Dati - Modelli e linguaggi di interrogazione, McGraw-Hill Italia
Sull'implementazione di applicazioni web basate su Basi di Dati:
Hanna, JSP - La guida completa, McGraw-Hill Italia
Geary, JavaServer Pages, guida alla programmazione avanzata , Hoepli (approfondimento)
Sull'impatto delle Basi di Dati e dell'information technology sulle aziende:
Bracchi, Francalanci, Motta, Sistemi informativi e aziende in rete, McGraw-Hill Italia (approfondimento)