Normalisering av relationsdata

Introduktion till datamodellering i Snowflake

Nuno Rocha

Director of Engineering

Förstå onormaliserad data

  • Onormaliserad data (UNF): Data som kan sakna struktur, vara oorganiserad, innehålla upprepningar och/eller anomalier

Entiteten alla produkter

Introduktion till datamodellering i Snowflake

Förstå onormaliserad data

Anomalier i entiteten alla produkter

Introduktion till datamodellering i Snowflake

Förstå onormaliserad data

Banananomalin markerad

Introduktion till datamodellering i Snowflake

Förstå onormaliserad data (3)

Tillverkaranomali markerad

Introduktion till datamodellering i Snowflake

Förstå onormaliserad data (4)

Detaljbeskrivningsanomalin markerad

Introduktion till datamodellering i Snowflake

Förstå onormaliserad data (5)

Produktanomalin markerad

Introduktion till datamodellering i Snowflake

Problem med onormaliserad data

  • Dataredundans: Onödig upprepning av data
  • Dataanomalier: Oregelbundenheter eller inkonsekvenser i data

Anomalier i entiteten alla produkter

Introduktion till datamodellering i Snowflake

Identifiera onormaliserad data

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

Lista över tillverkare med antal produktupprepningar

Introduktion till datamodellering i Snowflake

Identifiera onormaliserad data

SELECT DISTINCT category 
FROM allproducts;

Lista över kategorier

Introduktion till datamodellering i Snowflake

Identifiera onormaliserad data

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

Lista över produkter med kategori L

Introduktion till datamodellering i Snowflake

Identifiera onormaliserad data

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

Lista över alla produkter som innehåller L

Introduktion till datamodellering i Snowflake

Normaliserad data

  • Normaliserad data: Data organiserad i distinkta och atomära entiteter
  • Fördelar:
    • Förbättrar datanoggrannhet och tillförlitlighet
    • Bättre frågeprestanda
    • Optimerad resursanvändning
    • Skalbarhet
Introduktion till datamodellering i Snowflake

Terminologi och funktionsöversikt

  • Onormaliserad data (UNF): Data som kan sakna struktur, vara oorganiserad eller innehålla upprepningar eller anomalier
  • Normaliserad data: Data organiserad i distinkta och atomära entiteter
  • SELECT FROM: SQL-sats för att hämta data från en specifik entitet
  • DISTINCT: SQL-sats för att returnera unika (olika) värden från ett attribut
  • COUNT: SQL-sats som räknar antalet rader som matchar angivna villkor
  • GROUP BY: SQL-sats som grupperar rader med samma värden efter angivna attribut
  • HAVING: SQL-sats som används med GROUP BY för att filtrera grupper utifrån ett villkor
  • WHERE: SQL-sats för att filtrera poster utifrån ett angivet villkor
  • AS: SQL-sats för att byta namn på en kolumn eller tabell med ett alias
Introduktion till datamodellering i Snowflake

Funktionsöversikt

-- Querying unique values while being filtered by a specific condition
SELECT DISTINCT column_name
FROM table_name
WHERE column_name  condition  value;
-- Counting the values aggregated by a specific column while filtering the results
SELECT column_name, 
    COUNT(*) AS alias_name
FROM table_name
GROUP BY column_name
HAVING COUNT(*)  condition  value;
Introduktion till datamodellering i Snowflake

Nu kör vi en övning!

Introduktion till datamodellering i Snowflake

Preparing Video For Download...