Laboratorio di Sistemi Informativi

CLEI triennale. 5 CFU.

A.A. 2005/2006

docente: Gianluca Amato


Novità: le FAQ del progetto.

Descrizione: Il corso si propone di consolidare le nozioni sulle basi di dati apprese nel corso di Sistemi Informativi tramite l'uso pratico, in laboratorio, di un DBMS relazione: MySQL. Si passerà quindi allo sviluppo di applicazioni costruite su basi di dati e con interfaccia utente basata sul web. Come sistema di sviluppo verrà utilizzato il linguaggio di programmazione PHP, che è tra i più diffusi in questo campo. Il corso si terrà interamente in ambiente Linux.

Programma: Introduzione a Linux. Introduzione al database relazionale MySQL. Breve ripasso di SQL e caratteristiche peculiari di MySQL. Gestione dei privilegi: comandi GRANT e REVOKE. Applicazioni in rete: modelli a 2 e 3 livelli. I webserver. Il linguaggio PHP. Accesso al server MySQL da PHP. Passaggio di parametri agli script PHP e moduli HTML. Applicazioni web basate su PHP e MySQL. Implementazione delle operazioni di lettura, inserimento, modifica e cancellazione. Protocollo HTTP e redirezione del browser. Gestione degli utenti da parte delle applicazioni web. Sessioni con PHP. Validazione dei dati. Sicurezza: SQL-injection, buffer overflow, cross site scripting. Gestione della concorrenza tramite i blocchi di tabella. Gestione degli errori personalizzata. Bufferizzazione dell'output. Tabelle temporanee e tabelle in memoria.

Prerequisiti:

Materiale Didattico:

Sono utili per la consultazione anche:

Software utilizzato durante il corso:

Ad eccezione di MySQL Administrator, MySQL Query Browser ed httpd-config, tutte le altre applicazioni fanno parte integrante della Fedora Core 4. Qualora si voglia utilizzare un'altra distribuzione, accertarsi che disponga di questi software, o prepararsi a installarli a mano.

Lezioni on-line:

Esame:

Si divide in una prima parte progettuale e in una orale:

Per poter partecipare ad un appello, occorre consegnare il progetto nelle sue tre componenti (relazione, database e applicazione) entro e non oltre la data ufficiale dell'appello affissa in bacheca. In generale, la consegna avviene tramite posta elettronica, in quanto non è detto che i giorni previsti per la consegna mi troviate in dipartimento. Al momento della consegna ci si mette d'accordo su data e ora della prova orale.

Ne segue che l'orario dell'appello che trovate indicato nelle bacheche non ha alcun significato

Testi di riferimento:

Sebbene il corso non segua direttamente un libro di testo, si consiglia comunque l'acquisto di

da leggere parallemante alle lezioni, per avere una panoramica più ampia e delle spiegazioni alternative ai concetti introdotti durante il corso.  Qualora l'inglese vi spaventi, quale migliore occasione per superare questo blocco psicologico?

In alternativa, anche se il contenuto è meno adatto al nostro corso, è possibile utilizzare

che è disponibile anche in versione italiana:

Testi di consultazione:

Per quanto riguarda la teoria delle basi di dati relazionali si consiglia uno dei seguenti:

Per una guida completa di MySQL, si consiglia:

Quest'ultimo è disponibile per il download in vari formati.