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.
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.
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
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:
Per quanto riguarda la teoria delle basi di dati relazionali si consiglia uno dei seguenti:
Quest'ultimo è disponibile per il download in vari formati.