Elaborazione Basi di Dati
Sintesi Operativa
Fondamenti delle basi di dati: dal modello relazionale alle architetture avanzate di Data Warehousing e Big Data.
- Modello Relazionale: Tabelle (relazioni), chiavi PK/FK, integrita referenziale (E.F. Codd, 1970)
- Normalizzazione: 1NF → BCNF per eliminare ridondanze e anomalie
- SQL: DDL (struttura), DML (dati), JOIN, aggregazione con WHERE vs HAVING
- Data Warehouse: OLTP vs OLAP, ETL, Star Schema e Snowflake
- Big Data: 5 V, Hadoop, Spark, NoSQL, Data Quality e Governance
1. Il Modello Relazionale e le sue Chiavi
Introdotto nel 1970 da E.F. Codd. I dati sono strutturati in relazioni (tabelle) composte da tuple (righe) e attributi (colonne).
1.1 Elementi Costitutivi
| Termine | Significato | Equivalente |
|---|---|---|
| Relazione | Insieme di tuple con lo stesso schema | Tabella |
| Tupla | Singola riga della tabella | Record |
| Attributo | Singola colonna della tabella | Campo |
| Dominio | Insieme dei valori ammissibili | Tipo di dato |
| Schema | Struttura della relazione (nome + attributi) | Definizione tabella |
1.2 Tipologie di Chiavi
| Chiave | Descrizione |
|---|---|
| Primaria (PK) | Identifica univocamente ogni tupla. Obbligatoria, non ammette NULL |
| Candidata | Attributo/insieme minimale e unico che potrebbe fungere da PK |
| Esterna (FK) | Riferimento alla PK di un'altra tabella. Garantisce l'integrita referenziale |
| Surrogata | PK artificiale (es. ID autoincrementante) quando manca una chiave naturale |
2. Progettazione e Normalizzazione
2.1 Modello Entita-Relazione (ER)
Strumento grafico per la progettazione concettuale:
| Elemento | Simbolo | Descrizione |
|---|---|---|
| Entita | Rettangolo | Oggetti del mondo reale |
| Attributo | Ellisse | Proprieta delle entita |
| Relazione | Rombo | Collegamenti tra entita |
| Cardinalita | 1:1, 1:N, N:M | Natura del legame |
Relazioni N:M: Richiedono obbligatoriamente una tabella ponte (di associazione) contenente le FK delle due tabelle coinvolte.
2.2 Processo di Normalizzazione
Organizza le tabelle per eliminare anomalie di inserimento, aggiornamento e cancellazione.
| Forma Normale | Requisito | Elimina |
|---|---|---|
| 1NF | Attributi atomici (no gruppi ripetuti) | Attributi multivalore |
| 2NF | 1NF + assenza dipendenze parziali dalla PK | Ridondanza parziale |
| 3NF | 2NF + assenza dipendenze transitive | Dipendenze indirette |
| BCNF | Ogni determinante deve essere chiave candidata | Anomalie residue |
3. SQL - Structured Query Language
3.1 Comandi Principali
| Categoria | Comandi | Funzione |
|---|---|---|
| DDL | CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX | Definizione struttura |
| DML | SELECT, INSERT INTO, UPDATE, DELETE FROM | Gestione dati |
3.2 La Query SELECT e l'Aggregazione
SELECT colonne FROM tabella WHERE condizione GROUP BY colonne HAVING condizione_aggregata ORDER BY colonne
WHERE vs HAVING:
WHERE: Filtra le singole righe prima dell'aggregazione
HAVING: Filtra i gruppi dopo il GROUP BY
3.3 Operazioni di JOIN
| Tipo | Risultato |
|---|---|
| INNER JOIN | Solo righe con corrispondenza in entrambe le tabelle (intersezione) |
| LEFT JOIN | Tutte le righe della tabella sinistra + corrispondenze della destra |
| RIGHT JOIN | Tutte le righe della tabella destra + corrispondenze della sinistra |
| FULL OUTER JOIN | Tutte le righe di entrambe le tabelle (unione) |
| CROSS JOIN | Prodotto cartesiano (ogni riga di A x ogni riga di B) |
4. Data Warehousing e Analisi dei Dati
Un Data Warehouse e un repository centralizzato per il supporto decisionale (OLAP): orientato al soggetto, integrato, non volatile e variante nel tempo.
4.1 Processo ETL
| Fase | Descrizione |
|---|---|
| Extract | Recupero dai database operazionali, file o API |
| Transform | Pulizia, standardizzazione e arricchimento |
| Load | Immissione definitiva nel sistema analitico |
4.2 OLTP vs OLAP
| Caratteristica | OLTP | OLAP |
|---|---|---|
| Scopo | Transazioni operative quotidiane | Analisi e reporting storico |
| Dati | Correnti e dettagliati | Storici e aggregati |
| Normalizzazione | Alta (3NF) | Bassa (denormalizzato) |
4.3 Schemi Dimensionali
Star Schema: Tabella dei fatti al centro + dimensioni denormalizzate. Ottimizzato per velocita query.
Snowflake Schema: Dimensioni normalizzate. Meno ridondanza ma query piu complesse.
5. Big Data, Qualita e Governance
5.1 Le 5 V dei Big Data
| V | Significato |
|---|---|
| Volume | Quantita massive (Terabyte, Petabyte) |
| Velocita | Rapidita di generazione e processamento |
| Varieta | Strutturati, semi-strutturati, non strutturati |
| Veridicita | Qualita e affidabilita del dato |
| Valore | Capacita di trasformare dati in informazioni utili |
Tecnologie chiave:
Hadoop: MapReduce per calcolo distribuito
Spark: Elaborazione in-memory (piu veloce di Hadoop)
NoSQL: MongoDB, Cassandra (dati non strutturati)
5.2 Data Quality e Governance
La qualita dei dati si misura su 5 dimensioni:
| Dimensione | Significato |
|---|---|
| Accuratezza | Correttezza dei valori |
| Completezza | Assenza di dati mancanti |
| Consistenza | Coerenza tra fonti diverse |
| Tempestivita | Dati aggiornati e disponibili |
| Unicita | Assenza di duplicati |
Data Governance: Regole e processi per gestire i dati come asset strategici.
Data Steward: Responsabile della qualita in domini specifici
Data Catalog: Inventario dei dataset disponibili
Metadata: Informazioni che descrivono struttura, provenienza e significato dei dati