Relationale data normaliseren

Introductie tot datamodellering in Snowflake

Nuno Rocha

Director of Engineering

Ongenormaliseerde data begrijpen

  • Ongenormaliseerde data (UNF): Data zonder duidelijke structuur, rommelig, met herhalingen en/of anomalieën

Entiteit met alle producten

Introductie tot datamodellering in Snowflake

Ongenormaliseerde data begrijpen

Anomalieën in de entiteit alle producten

Introductie tot datamodellering in Snowflake

Ongenormaliseerde data begrijpen

Banaan-anomalie gemarkeerd

Introductie tot datamodellering in Snowflake

Ongenormaliseerde data begrijpen (3)

Fabrikant-anomalie gemarkeerd

Introductie tot datamodellering in Snowflake

Ongenormaliseerde data begrijpen (4)

Detailbeschrijving-anomalie gemarkeerd

Introductie tot datamodellering in Snowflake

Ongenormaliseerde data begrijpen (5)

Producten-anomalie gemarkeerd

Introductie tot datamodellering in Snowflake

Problemen met ongenormaliseerde data

  • Redundantie: Onnodige herhaling van data
  • Anomalieën: Onregelmatigheden of inconsistenties in de data

Anomalieën in de entiteit alle producten

Introductie tot datamodellering in Snowflake

Ongenormaliseerde data herkennen

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

Lijst met fabrikanten en aantal herhalingen van producten

Introductie tot datamodellering in Snowflake

Ongenormaliseerde data herkennen

SELECT DISTINCT category 
FROM allproducts;

Lijst met categorieën

Introductie tot datamodellering in Snowflake

Ongenormaliseerde data herkennen

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

Lijst met producten met categorie L

Introductie tot datamodellering in Snowflake

Ongenormaliseerde data herkennen

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

Lijst met alle producten die L bevatten

Introductie tot datamodellering in Snowflake

Genormaliseerde data

  • Genormaliseerde data: Data georganiseerd in afzonderlijke, atomaire entiteiten
  • Voordelen:
    • Betere nauwkeurigheid en betrouwbaarheid
    • Snellere queries
    • Efficiënter resourcengebruik
    • Schaalbaarheid
Introductie tot datamodellering in Snowflake

Overzicht terminologie en functies

  • Ongenormaliseerde data (UNF): Data zonder duidelijke structuur, rommelig, of met herhalingen of anomalieën
  • Genormaliseerde data: Data georganiseerd in afzonderlijke, atomaire entiteiten
  • SELECT FROM: SQL-clausule om data uit een specifieke entiteit op te halen
  • DISTINCT: SQL-clausule die unieke waarden van een attribuut retourneert
  • COUNT: SQL-clausule die rijen telt die aan de criteria voldoen
  • GROUP BY: SQL-clausule die rijen groepeert op opgegeven attributen
  • HAVING: SQL-clausule met GROUP BY om groepen te filteren op een voorwaarde
  • WHERE: SQL-clausule om records te filteren op een voorwaarde
  • AS: SQL-clausule om een kolom of tabel een alias te geven
Introductie tot datamodellering in Snowflake

Functieoverzicht

-- Unieke waarden opvragen met een specifieke filtervoorwaarde
SELECT DISTINCT column_name
FROM table_name
WHERE column_name  condition  value;
-- Waarden tellen, geaggregeerd op een kolom en resultaten filteren
SELECT column_name, 
    COUNT(*) AS alias_name
FROM table_name
GROUP BY column_name
HAVING COUNT(*)  condition  value;
Introductie tot datamodellering in Snowflake

Laten we oefenen!

Introductie tot datamodellering in Snowflake

Preparing Video For Download...