Normalizzare i dati relazionali

Introduzione al Data Modeling in Snowflake

Nuno Rocha

Director of Engineering

Capire i dati non normalizzati

  • Dati non normalizzati (UNF): Possono mancare di struttura, essere disordinati, contenere ripetizioni e/o anomalie

Entità tutti i prodotti

Introduzione al Data Modeling in Snowflake

Capire i dati non normalizzati

Anomalie nell'entità tutti i prodotti

Introduzione al Data Modeling in Snowflake

Capire i dati non normalizzati

Anomalia banana evidenziata

Introduzione al Data Modeling in Snowflake

Capire i dati non normalizzati (3)

Anomalia nel produttore evidenziata

Introduzione al Data Modeling in Snowflake

Capire i dati non normalizzati (4)

Anomalia nella descrizione dettagli evidenziata

Introduzione al Data Modeling in Snowflake

Capire i dati non normalizzati (5)

Anomalia nei prodotti evidenziata

Introduzione al Data Modeling in Snowflake

Problemi dei dati non normalizzati

  • Ridondanza dei dati: Ripetizioni inutili
  • Anomalie dei dati: Irregolarità o incoerenze

Anomalie nell'entità tutti i prodotti

Introduzione al Data Modeling in Snowflake

Individuare dati non normalizzati

SELECT manufacturer_id, 
       manufacturer_name, 
       location, 
       COUNT(*) AS repetitions
FROM allproducts
GROUP BY manufacturer_id, 
    manufacturer_name, 
    location
HAVING COUNT(*) > 1;

Elenco produttori con conteggio delle ripetizioni di prodotti

Introduzione al Data Modeling in Snowflake

Individuare dati non normalizzati

SELECT DISTINCT category 
FROM allproducts;

Elenco categorie

Introduzione al Data Modeling in Snowflake

Individuare dati non normalizzati

SELECT DISTINCT product_name,
    category
FROM allproducts
WHERE category = 'L';

Elenco prodotti con categoria L

Introduzione al Data Modeling in Snowflake

Individuare dati non normalizzati

SELECT DISTINCT product_name,
    category
FROM allproducts
WHERE category = 'L';

Elenco di tutti i prodotti che contengono L

Introduzione al Data Modeling in Snowflake

Dati normalizzati

  • Dati normalizzati: Dati organizzati in entità distinte e atomiche
  • Vantaggi:
    • Migliora accuratezza e affidabilità
    • Aumenta le prestazioni delle query
    • Uso delle risorse ottimizzato
    • Scalabilità
Introduzione al Data Modeling in Snowflake

Panoramica: termini e funzioni

  • Dati non normalizzati (UNF): Possono mancare di struttura, essere disordinati o contenere ripetizioni o anomalie
  • Dati normalizzati: Dati organizzati in entità distinte e atomiche
  • SELECT FROM: Clausola SQL per recuperare dati da un'entità
  • DISTINCT: Restituisce valori unici di un attributo
  • COUNT: Conta le righe che soddisfano i criteri
  • GROUP BY: Raggruppa righe con gli stessi valori per attributi specificati
  • HAVING: Con GROUP BY, filtra i gruppi in base a una condizione
  • WHERE: Filtra record in base a una condizione
  • AS: Rinomina una colonna o tabella con un alias
Introduzione al Data Modeling in Snowflake

Panoramica funzioni

-- Query di valori unici filtrati da una condizione
SELECT DISTINCT column_name
FROM table_name
WHERE column_name  condition  value;
-- Conteggio dei valori aggregati per una colonna, con filtro sui risultati
SELECT column_name, 
    COUNT(*) AS alias_name
FROM table_name
GROUP BY column_name
HAVING COUNT(*)  condition  value;
Introduzione al Data Modeling in Snowflake

Passons à la pratique !

Introduzione al Data Modeling in Snowflake

Preparing Video For Download...