Laurea Triennale in Informatica
programma del corso

Basi di Dati + Laboratorio  (c.so A)

prof. Ezio Lefons

a.a. 2004-05

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

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)  

Parte III  

Organizzazione Logica dei Dati   Sequenziale – Ordinata – Diretta (hash)  estendibile – lineare  

Sovrastrutture di Dati   Compressione   Indici  Sequenziale con indice (ISAM)   Indici multilivello  B-tree – B+-tree    

Testi (a)   R. Elmasri, S.B. Navathe,  Sistemi di basi di dati: fondamenti, Pearson-A.Wesley Italia 2004, 4ª ed.,  (Cap. 1-8, 10-14), ISBN 88-7192-220-4.
           
(b)   E. Lefons,  Complementi di Algebra Relazionale,  2ª ed. 2004,  http://www.di.uniba.it/~lefons/dispense/BDLab 04-05.htm .
            (c)   E. Lefons,  Complementi di Livello Interno/Fisico dei Dati,  1ª ed. 2003,  http://www.di.uniba.it/~lefons/dispense/BDLab 04-05.htm .
               
(d)   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 2002, (Cap. 1-4, 6-9)
                  
A. Albano,  Basi di Dati: strutture e algoritmi,  A.Wesley Masson 1992, (Capitoli 2-6).
                        
P.J. Pratt,  Guida a SQL,  Apogeo, 2001.