Laurea Triennale in Informatica
programma del corso

Basi di Dati + Laboratorio

prof. Ezio Lefons

a.a. 2008-09

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-A.Wesley Italia 2007, 5ª ed.,  (Cap. 1-8, 10-11), ISBN 978-88-7192-310-9.
           
(b)   E. Lefons,  Complementi di Algebra Relazionale I,  4ª ed. 2007,  http://www.di.uniba.it/~lefons/dispense/BDLab 08-09.htm .
             (c)   E. Lefons,  Complementi di Progettazione Concetuale,  2ª ed. 2007,  http://www.di.uniba.it/~lefons/dispense/BDLab 08-09.htm .
            (d)   E. Lefons,  Sistemi di Basi di Dati (appunti),  1ª ed. 2007,  http://www.di.uniba.it/~lefons/dispense/BDLab 08-09.htm .
                
(e)   L. Welling, L. Thomson,  MySQL Tutorial, MySQL Press, Pearson Educ. Italia, 2004, ISBN 88-7192-222-0.

Letture  P. Atzeni et al.,  Basi di Dati: modelli e linguaggi di interrogazione, McGraw-Hill 2005, (Cap. 1-4, 6-9)
                         P.J. Pratt,  Guida a SQL,  Apogeo, 2001.