Programma Definitivo Basi di dati + Laboratorio (Corso A) a.a. 2002/2003 Docente: Ezio Lefons Parte I Organizzazione Logica dei Dati Sequenziale - Sequenziale ordinata Diretta - Albero - Catena. Hash Order-preserving – hash estendibile – hash lineare. Sovrastrutture di Dati Compressione Indici Tipi di indici – Sequenziale con indice (ISAM) – Indici multilivello – B-tree – B+-tree. Parte II 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à (chiave, chiave esterna, integrità referenziale) - Viste Algebra relazionale (unione, intersezione, differenza, complemento, complemento attivo, ridenominazione, selezione, proiezione, join, semijoin, join esterni, divisione) Trasformazioni ed equivalenze di espressioni dell’algebra relazionale Rappresentazione interna delle interrogazioni Ottimizzatori (euristico, esaustivo) Dipendenze funzionali e loro proprietà (transitiva, additiva, ecc.). Regole di Armstrong. Normalizzazione e forme normali (prima, seconda, terza, Boyce-Codd). Decomposizione senza perdita - Conservazione delle dipendenze. Algoritmi di normalizzazione. Informazione incompleta Valori nulli SQL-2 Definizione e manipolazione dei dati - Funzioni aggregate. Laboratorio. Parte III Progettazione di basi di dati Generalità sul ciclo di vita dei sistemi informativi. Uso di modelli concettuali per la progettazione delle basi di dati. Modello Entità-Relazione (ER) Tipi di entità - Insiemi di entità - Attributi e chiavi – Associazioni -Tipi di associazione Ruoli e vincoli strutturali - Tipi di associazione di grado maggiore di due - Ttipi di entità debole Diagrammi ER. Modello Entità-Relazione Esteso (EER) e modellazione ad oggetti Sottoclassi - Superclassi ed ereditarietà Specializzazione e generalizzazione –Vincoli Caratteristiche di specializzazione e generalizzazione Diagrammi EER . Concetti di astrazione dei dati e di rappresentazione della conoscenza: classificazione e istanziazione Identificazione - Specializzazione e generalizzazione - Aggregazione e 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 e specializzazione (o generalizzazione). Testi (disponibili in Biblioteca del Dipartimento) E. Lefons, Dispense, Organizzazione logica e sovrastrutture di dati. Modelli gerarchico e reticolare. R. Elmasri, S.B. Navathe, Sistemi di basi di dati: fondamenti, A.Wesley 2000, 1a ed. italiana. Capitoli 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 (MS Access). P. Atzeni et al., Basi di Dati, McGraw-Hill Italia 1999, 2a ed. Capitoli 1, 2, 3, 4, 6, 8, 9 (9.5/6/7), App. A. A. Albano, Basi di Dati (strutture e algoritmi), A.Wesley Masson 1992, Capitoli 2, 4, 5, 6. Laboratorio http://www.di.uniba.it/~lisi/courses/basi-dati/basi-dati.htm