Università di Bologna - Dipartimento di Scienze dell'Informazione
Basi di Dati e Programmazione Web - 2008/2009
Info
Corso del Master in Scienze e Tecnologie del Software Libero.
Docenti: Prof. Paolo Ciaccia, Dott. Stefano Zacchiroli.
Lezioni
- presentazione del corso, 20/03/2009
- lezione 1, 20/03/2009
- argomenti: DBMS, modello relazionale, introduzione al linguaggio SQL
- lab - presentazione, 21/03/2009
- lab - DBMS
administration, 21/03/2009
- argomenti: MySQL administration, PostgreSQL administration
- lab - DBMS embedded,
21/03/2009
- argomenti: DBMS embedded, SQLite, estensioni
- lezione 2, 03/04/2009
- argomenti: SQL: join(s), funzioni aggregate, subquery, viste, ..., DBMS FOSS, transazioni
- esercizi SQL, 03/04/2009
- lezione 3, 08/05/2009
- argomenti: il DB fisico, gestione delle transazioni, ottimizzazioni, trigger, estendibilità
- lab - Python tutorial,
08/05/2009
- argomenti: introduzione al linguaggio Python
- lab - HTTP e programmazione
CGI, 09/05/2009
- argomenti: introduzione ai protocolli HTTP e CGI, programmazione CGI (in Python)
- lab - DB access e Framework
MVC, 09/05/2009
- argomenti: DBMS-abstraction, Object Relational Mapping, programmazione web Model-View-Controller
- information retrieval,
22/05/2009
- seminario by Dario Rigolin, CTO Comperio
- lezione 4, 05/06/2009
- argomenti: progettazione DB
Project work
Il superamento del corso è subordinato alla valutazione positiva di un project work, da svolgere individualmente od in gruppi di max. 2 persone.
Gli interessati sono tenuti ad inviare proposte di progetto via mail ai docenti per approvazione; le proposte devono giungere entro e non oltre il 5 Giugno 2009, per essere approvate indicativamente per la metà di Giugno. Le proposte di progetto devono vertire sugli argomenti del corso e possibilmente toccare sia gli aspetti DBMS che gli aspetti Web.
Una lista, non esaustiva, di filoni all'interno dei quali proporre progetti è la seguente:
- estensione di DBMS embedded (e.g., SQLite) con l'aggiunta di funzionalità quali nuovi tipi o nuovi costrutti per il linguaggio di query
- studio delle limitazioni di espressività di specifici ORM rispetto al modello relazionale e sviluppo di loro migliorie al fine di rimuovere, o mitigare, tali limitazioni
- sviluppo di applicativi Web, aventi data model di significativa complessità (i.e. non il carrello della spesa!), in un framework Web MVC
- analisi sperimentale delle performance di DBMS open source e studio sul loro impatto di vari parametri (clusterizzazione, storage engine, dimensione del data set, ...)