Relationele data normaliseren

Introductie tot datamodellering in Snowflake

Nuno Rocha

Director of Engineering

On-genormaliseerde data begrijpen

  • On-genormaliseerde data (UNF): Data zonder duidelijke structuur: rommelig, met herhaling en/of anomalieën

Entiteit all products

Introductie tot datamodellering in Snowflake

On-genormaliseerde data begrijpen

Afwijkingen in de entiteit all products

Introductie tot datamodellering in Snowflake

On-genormaliseerde data begrijpen

Banaan-afwijking gemarkeerd

Introductie tot datamodellering in Snowflake

On-genormaliseerde data begrijpen (3)

Fabrikant-afwijking gemarkeerd

Introductie tot datamodellering in Snowflake

On-genormaliseerde data begrijpen (4)

Detailbeschrijving-afwijking gemarkeerd

Introductie tot datamodellering in Snowflake

On-genormaliseerde data begrijpen (5)

Productafwijkingen gemarkeerd

Introductie tot datamodellering in Snowflake

Problemen met on-genormaliseerde data

  • Dateredundantie: Onnodige herhaling van data
  • Data-anomalieën: Onregelmatigheden of inconsistenties in de data

Afwijkingen in de entiteit all products

Introductie tot datamodellering in Snowflake

On-genormaliseerde 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 productherhalingen

Introductie tot datamodellering in Snowflake

On-genormaliseerde data herkennen

SELECT DISTINCT category 
FROM allproducts;

Lijst met categorieën

Introductie tot datamodellering in Snowflake

On-genormaliseerde data herkennen

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

Lijst met producten met categorie L

Introductie tot datamodellering in Snowflake

On-genormaliseerde 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: Georganiseerd in losse, atomaire entiteiten
  • Voordelen:
    • Betere nauwkeurigheid en betrouwbaarheid
    • Snellere queries
    • Efficiënter gebruik van resources
    • Schaalbaarheid
Introductie tot datamodellering in Snowflake

Overzicht: termen en functies

  • On-genormaliseerde data (UNF): Data zonder structuur, rommelig, met herhaling of anomalieën
  • Genormaliseerde data: Georganiseerd in losse, atomaire entiteiten
  • SELECT FROM: SQL-clausule om data uit een entiteit op te halen
  • DISTINCT: Geeft unieke waarden van een attribuut terug
  • COUNT: Telt rijen die aan de criteria voldoen
  • GROUP BY: Groepeert rijen met gelijke waarden op opgegeven attributen
  • HAVING: Filtert groepen na GROUP BY op een voorwaarde
  • WHERE: Filtert records op een voorwaarde
  • AS: Geeft een alias aan een kolom of tabel
Introductie tot datamodellering in Snowflake

Functie-overzicht

-- Unieke waarden opvragen met een specifieke filtervoorwaarde
SELECT DISTINCT column_name
FROM table_name
WHERE column_name  condition  value;
-- Aantallen tellen per 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...