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

  1. presentazione del corso, 20/03/2009
  2. lezione 1, 20/03/2009
    • argomenti: DBMS, modello relazionale, introduzione al linguaggio SQL
  3. lab - presentazione, 21/03/2009
  4. lab - DBMS administration, 21/03/2009
    • argomenti: MySQL administration, PostgreSQL administration
  5. lab - DBMS embedded, 21/03/2009
    • argomenti: DBMS embedded, SQLite, estensioni
  6. lezione 2, 03/04/2009
    • argomenti: SQL: join(s), funzioni aggregate, subquery, viste, ..., DBMS FOSS, transazioni
  7. esercizi SQL, 03/04/2009
  8. lezione 3, 08/05/2009
    • argomenti: il DB fisico, gestione delle transazioni, ottimizzazioni, trigger, estendibilità
  9. lab - Python tutorial, 08/05/2009
    • argomenti: introduzione al linguaggio Python
  10. lab - HTTP e programmazione CGI, 09/05/2009
    • argomenti: introduzione ai protocolli HTTP e CGI, programmazione CGI (in Python)
  11. lab - DB access e Framework MVC, 09/05/2009
    • argomenti: DBMS-abstraction, Object Relational Mapping, programmazione web Model-View-Controller
  12. information retrieval, 22/05/2009
    • seminario by Dario Rigolin, CTO Comperio
  13. 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, ...)