BASI DI DATI E SISTEMI INFORMATIVI

Obiettivi formativi:

Questo insegnamento ha lo scopo di introdurre i sistemi informativi e di descrivere i modelli dei dati e le tecniche di progettazione concettuale, logica e fisica per lo sviluppo e la gestione di basi di dati.

Settori scientifico-disciplinari:

INF/01, ING-INF/05.

Crediti:

12.

Modulo:

Unico.

Durata:

Annuale, 112 ore (80 di lezione frontale + 32 di esercitazione guidata).

Frequenza:

Non sono previsti obblighi di frequenza.

Docente:

Ing. Luca Ciarlatani (lezioni frontali), Dott. Maurizio Maffi (esercitazioni guidate).

Programma:

01. Introduzione ai sistemi informativi:
      01.01 Gestione della conoscenza e sistemi informativi.
      01.02 Data Base Management Systems (DBMS).
      01.03 Ciclo di vita dei DBMS.

02. Progettazione concettuale di basi di dati:
      02.01 Analisi dei requisiti.
      02.02 Modello Entity-Relationship (E-R).
      02.03 Strategie di progetto.
      02.04 Integrazione di schemi.

03. Progettazione logica di basi di dati:
      03.01 Modello relazionale.
      03.02 Ottimizzazione di modelli E-R.
      03.03 Ristrutturazione di modelli E-R.
      03.04 Dal modello E-R al modello relazionale.
      03.05 Normalizzazione.

04. Linguaggi di interrogazione:
      04.01 Algebra relazionale: operatori di base.
      04.02 Algebra relazionale: operatori ausiliari.
      04.03 Calcolo relazionale.
      04.04 Structured Query Language (SQL).
      04.05 Subquery in SQL.
      04.06 Linguaggio di definizione dei dati in SQL.
      04.07 Linguaggio di aggiornamento dei dati in SQL.
      04.08 Viste in SQL.

05. Dispositivi di memoria secondaria e gestione dei file:
      05.01 Dispositivi di memoria secondaria.
      05.02 Organizzazione dei file.
      05.03 Indicizzazione.
      05.04 B-tree.
      05.05 B+-tree.
      05.06 Organizzazioni hash statiche.
      05.07 Organizzazione hash dinamiche.

06. Architettura dei DBMS:
      06.01 Transazioni e anatomia dei DBMS.
      06.02 Gestione dei guasti e tecniche di recovery.
      06.03 Gestione dello scheduling.
      06.04 Teoria della serializzabilità.
      06.05 Serializzabilità e concorrenza.
      06.06 Tecniche di locking.
      06.07 Basi di dati e transazioni distribuite.
      06.08 Metodi di join.
      06.09 Ottimizzazione delle interrogazioni.

07. Attività di laboratorio:
      07.01 Introduzione a MySQL per il sistema operativo Linux.
      07.02 Architettura di MySQL server e client.
      07.03 Sviluppo guidato di database MySQL.
      07.04 Accesso a database MySQL usando il linguaggio PHP.

Testi di riferimento:

  • Per la teoria:
          - Atzeni, Ceri, Paraboschi, Torlone, "Basi di Dati: Modelli e Linguaggi di Interrogazione", McGraw-Hill, 2006
               (copre le sezioni 01, 02, 03, 04 del programma).
          - Atzeni, Ceri, Fraternali, Paraboschi, Torlone, "Basi di Dati: Architetture e Linee di Evoluzione", McGraw-Hill, 2007
               (copre le sezioni 05, 06 del programma).
  • Per le esercitazioni:
          - Dorbolò, Guidi, "Guida a SQL", McGraw-Hill, 2004.
  • Propedeuticità:

    Programmazione degli Elaboratori, Architettura degli Elaboratori, Algoritmi e Strutture dati, Logica Matematica.

    Modalità didattiche:

    Lezioni frontali ed esercitazioni di laboratorio.

    Modalità di accertamento:

    Progetto individuale, prova scritta e prova orale.

    Commissione d'esame:

    Fino all'a.a. 2010/2011: Ing. Luca Ciarlatani e Dott. Maurizio Maffi (supplente: Dott. Alessandro Aldini).
    Dall'a.a. 2011/2012: Dott. Maurizio Maffi e Dott. Alessandro Aldini (supplente: Prof. Marco Bernardo).

    Note:

    Il progetto, da consegnare almeno 6 giorni prima della prova scritta, viene valutato in decimi ed è ritenuto sufficiente se il relativo voto, che rimane valido per tutti gli appelli, è di almeno 6/10.
    La prova scritta viene valutata in ventesimi ed è ritenuta sufficiente se il relativo voto, che rimane valido per tutti gli appelli della sessione in cui la prova viene sostenuta, è di almeno 12/20.
    La prova orale può essere sostenuta solo previo superamento delle altre due prove e comprende una verifica al computer del funzionamento del progetto. Se sufficiente, il relativo esito comporta un aggiustamento della somma dei voti del progetto e della prova scritta, determinando così il voto finale.

    Ultima modifica: 23/03/2012 Approvato da: Presidente CCdL