Laurea Triennale in Informatica
programma del corso

Basi di Dati + Laboratorio

prof. Ezio Lefons

a.a. 2012-13

Parte I   Architettura Ansi Sparc - Indipendenza dei dati - Generazioni di DBMS   

Linguaggi per DB: testuali, ospite, autonomi, grafici. Completezza computazionale e funzionale. Assunzione di mondo chiuso.

Modelli di Dati   Gerarchico - Reticolare – Relazionale – ad Oggetti

Modello relazionale

Relazioni - Vincoli d'integrità ed integrità referenziale - Viste – Operazioni di aggiornamento e politiche di reazione alla violazione dell’integrità 
Algebra relazionale (unione, intersezione, differenza, complemento, complemento attivo, ridenominazione, selezione, proiezione, join, semijoin, join esterni, divisione)
Trasformazioni, equivalenze, ed ottimizzazione di espressioni dell’algebra relazionale - Calcolo relazionale (cenni) 
Dipendenze funzionali e loro proprietà (transitiva, additiva, ecc.). Regole di Armstrong.
Normalizzazione e forme normali (1-2-3-NF, BCNF) - Decomposizione senza perdita - Conservazione delle dipendenze - Algoritmi di normalizzazione

Informazione incompleta   Valori nulli

SQL-2   Definizione e manipolazione dei dati - Funzioni aggregate.   Laboratorio di MySql.

Parte II

Progettazione di basi di dati   Generalità sul ciclo di vita dei sistemi informativi - Uso di modelli concettuali per la progettazione di basi di dati 

Modello Entità-Relazione (ER)   Tipi di entità - Insiemi di entità - Attributi e chiavi – Tipi di associazione 

Ruoli e vincoli strutturali - Tipi di associazione di grado maggiore di due - Tipi di entità debole - Diagrammi ER.

Modello Entità-Relazione Esteso (EER) e modellazione ad oggetti   Sottoclassi, superclassi ed ereditarietà - Specializzazione e generalizzazione 

Vincoli e caratteristiche di specializzazione e generalizzazione - Diagrammi EER
Astrazione dei dati e rappresentazione della conoscenza: classificazione/istanziazione, identificazione, specializzazione/generalizzazione, aggregazione/associazione

Progettazione logica delle basi di dati

Traduzione da schemi ER e EER a schemi relazionali   Algoritmo di traduzione da ER a relazionale    

Traduzione dei concetti del modello EER in relazioni   Associazioni superclasse/sottoclasse e specializzazione (o generalizzazione)  

Testi
           
(a)     R. Elmasri, S.B. Navathe,  Sistemi di basi di dati: fondamenti, Pearson Italia 2011, 6ª ed.,  (Cap. 1-9, 11), ISBN 978-88-7192-628-5.
            (a’)   P. Atzeni et al.,  Basi di Dati: modelli e linguaggi di interrogazione, McGraw-Hill 2009, 3ª ed., (Cap. 1-4, 7-11) , ISBN 978-88-386-6600-1.
           
(b)     E. Lefons,  Complementi di Algebra Relazionale I,  4.3ª ed. 2012,  http://www.di.uniba.it/~lefons/dispense/BDLab.htm .
            (c)     E. Lefons,  Complementi di Progettazione Concettuale,  2.3ª ed. 2012,  http://www.di.uniba.it/~lefons/dispense/BDLab.htm .
            (d)     E. Lefons,  Sistemi di Basi di Dati (appunti),  1.2ª ed. 2010,  http://www.di.uniba.it/~lefons/dispense/BDLab.htm .
            (e)     L. Welling, L. Thomson,  MySQL Tutorial, MySQL Press, Pearson Educ. Italia, 2004, ISBN 88-7192-222-0.

Letture 
                         P.J. Pratt,  Guida a SQL,  Apogeo, 2001.