28027 - SISTEMI INFORMATIVI T

Scheda insegnamento

  • Docente Paolo Ciaccia

  • Crediti formativi 9

  • SSD ING-INF/05

  • Modalità di erogazione In presenza (Convenzionale)

  • Lingua di insegnamento Italiano

  • Orario delle lezioni dal 20/09/2017 al 18/12/2017

Anno Accademico 2017/2018

Conoscenze e abilità da conseguire

Conoscenza dei modelli e degli strumenti per l'organizzazione e la gestione e il progetto di basi di dati relazionali.

Programma/Contenuti

  1. Sistemi di gestione di basi di dati (DBMS)
    Sistemi informativi e ruolo dei DBMS. Le funzionalità di base dei DBMS: architettura a 3 livelli, linguaggi, controllo degli accessi e della concorrenza, protezione dai guasti.
  2. Il modello relazionale dei dati
    Concetti di base: domini, attributi, tuple e relazioni, relazioni in 1NF, valori nulli. Vincoli sui dati: di dominio, di tupla, di chiave, di integrità referenziale.
  3. L'algebra relazionale
    Operatori unari: selezione, proiezione e ridenominazione. Operatori binari: join naturale, unione e differenza. Operatori derivati: intersezione, theta-join e divisione. Algebra con valori nulli: logica a 3 valori, outer join. Espressioni e regole di equivalenza di base.
  4. Il linguaggio SQL (Structured Query Language)
    Istruzioni di definizione dei dati (DDL) e definizione di vincoli. Il blocco Select-From-Where. Ordinamento del risultato. Istruzioni di modifica dei dati. Interrogazioni con aggregazione del risultato. Interrogazioni innestate. Definizione di viste e risoluzione di interrogazioni ricorsive. Gestione delle autorizzazioni. Trigger. Transazioni.
  5. Progettazione di basi di dati
    Progettazione orientata ai dati. Fasi di progettazione. Modelli concettuali e modelli logici dei dati. I principali meccanismi di astrazione.
  6. Il modello Entity-Relationship (E-R)
    Elementi di base: entità, associazioni, attributi. Meccanismi di identificazione. Tipi di gerarchie.
  7. Progettazione concettuale
    Raccolta e analisi dei requisiti. Strategie di progettazione. Tipici pattern di progettazione.
  8. Progettazione logica
    Regole di traduzione di entità e associazioni orientata al modello relazionale.Ristrutturazione dello schema E-R: eliminazione delle gerarchie, eliiminazione di attributi multi-valore, scelta degli identificatori principali. Criteri di ottimizzazione: carico di lavoro (volumi dei dati e schemi di navigazione), analisi delle ridondanze, partizionamenti e accorpamenti.
  9. Normalizzazione di schemi relazionali
    Dipendenze funzionali e anomalie. Forme normali (3NF e BCNF). Decomposizione di schemi. Decomposizioni senza perdita. Preservazione delle dipendenze. Algoritmo di normalizzazione in 3NF. Relazione tra dipendenze funzionali e schemi E-R.

Testi/Bibliografia

Per la preparazione dell'esame è sufficiente il materiale reso disponibile sul sito del corso (http://www-db.disi.unibo.it/courses/SI-T/).

Per chi volesse approfondire gli argomenti trattati a lezione è consigliato il seguente testo:

Metodi didattici

Il corso viene erogato in aula mediante proiezione di slide dal computer del docente. Le lezioni sono integrate da esercitazioni in aula tenute dal docente e da esercitazioni pratiche in laboratorio. Ogni esercitazione in laboratorio affronta uno specifico argomento trattato a lezione dal docente proponendo esercizi che permettono allo studente di approfondire quanto visto a lezione. La soluzione degli esercizi presuppone l'uso di diversi strumenti software (tool di progettazione e DBMS).

Modalità di verifica dell'apprendimento

La valutazione d'esame consiste in una prova  in laboratorio relativa a tutto il programma del corso. La prova orale viene svolta solo su richiesta del docente.

Strumenti a supporto della didattica

Le lezioni in aula vengono svolte con l'ausilio di lucidi proiettati da PC. Copia integrale dei lucidi proiettati è disponibile sul sito del corso (http://www-db.disi.unibo.it/courses/SI-T/).

Link ad altre eventuali informazioni

http://www-db.disi.unibo.it/courses/SI-T/

Orario di ricevimento

Consulta il sito web di Paolo Ciaccia