Teoria
Fondamenti teorici delle basi di dati relazionali: modello relazionale, algebra e calcolo relazionale, normalizzazione, tecnologie DBMS, concorrenza, affidabilità e sistemi direzionali.
Teoria
Appunti delle lezioni teoriche del corso di Basi di Dati. Le note coprono l'intero arco del programma: dall'architettura dei DBMS e le proprietà ACID, alle definizioni formali del modello relazionale (domini, tuple, chiavi, vincoli), agli operatori dell'algebra relazionale e alle loro equivalenze, al calcolo relazionale su domini e su ennuple, alle forme normali per eliminare ridondanza (1NF, 2NF, 3NF, BCNF), alle tecnologie interne dei DBMS (strutture di file, indici B+Tree, gestione buffer, query processor, concorrenza con lock e 2PL, gestione dell'affidabilità con log e ripristino), fino ai sistemi direzionali, al Data Warehouse e all'analisi OLAP.
Contenuti
- Introduzione ai Database e ai DBMS Architettura ANSI-SPARC a tre livelli, proprietà ACID delle transazioni, componenti di un DBMS e i relativi gestori (accessi, query, memoria, concorrenza, affidabilità).
- Modello Relazionale Definizioni di dominio, relazione, schema e tupla nel modello relazionale; vincoli di integrità intra e inter-relazionali, superchiave, chiave primaria e chiave esterna.
- Algebra Relazionale Operatori dell'algebra relazionale (unione, intersezione, differenza, selezione, proiezione, join naturale, join esterno, theta join, equi join) con esempi e regole di equivalenza.
- Calcolo Relazionale Rappresentazione alternativa all'algebra relazionale tramite calcolo su domini e calcolo su ennuple con dichiarazioni di range; esempi di query e il concetto di chiusura transitiva.
- Forme Normali Dipendenze funzionali, prima, seconda e terza forma normale (1NF, 2NF, 3NF) e forma normale di Boyce-Codd; decomposizione senza perdita per eliminare ridondanza e anomalie.
- Tecnologie per Sistemi di Database Strutture di file (heap, ordinati, hash, indici B+ Tree, bitmap), gestione della memoria e dei buffer, ottimizzazione delle query, controllo della concorrenza (lock, 2PL, timestamp), gestione dell'affidabilità, log e ripristino.
- Basi di Dati Direzionali e Data Warehouse Sistemi direzionali e operativi a confronto (OLTP vs OLAP), architettura del Data Warehouse con ETL, staging e data mart, analisi multidimensionale MOLAP/ROLAP, KDD e schemi a stella.