Normalizace relačních dat

Úvod do datového modelování ve Snowflake

Nuno Rocha

Director of Engineering

Porozumění nenormalizovaným datům

  • Nenormalizovaná data (UNF): Data bez struktury, neorganizovaná, s opakováními nebo anomáliemi

Entita všech produktů

Úvod do datového modelování ve Snowflake

Porozumění nenormalizovaným datům

Anomálie v entitě všech produktů

Úvod do datového modelování ve Snowflake

Porozumění nenormalizovaným datům

Zvýrazněná anomálie u banánu

Úvod do datového modelování ve Snowflake

Porozumění nenormalizovaným datům (3)

Zvýrazněná anomálie u výrobce

Úvod do datového modelování ve Snowflake

Porozumění nenormalizovaným datům (4)

Zvýrazněná anomálie v popisu detailu

Úvod do datového modelování ve Snowflake

Porozumění nenormalizovaným datům (5)

Zvýrazněná anomálie u produktů

Úvod do datového modelování ve Snowflake

Problémy s nenormalizovanými daty

  • Redundance dat: Zbytečné opakování dat
  • Datové anomálie: Nepravidelnosti nebo nekonzistence v datech

Anomálie v entitě všech produktů

Úvod do datového modelování ve Snowflake

Identifikace nenormalizovaných dat

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

Seznam výrobců s počtem opakování produktů

Úvod do datového modelování ve Snowflake

Identifikace nenormalizovaných dat

SELECT DISTINCT category 
FROM allproducts;

Seznam kategorií

Úvod do datového modelování ve Snowflake

Identifikace nenormalizovaných dat

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

Seznam produktů kategorie L

Úvod do datového modelování ve Snowflake

Identifikace nenormalizovaných dat

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

Seznam všech produktů obsahujících L

Úvod do datového modelování ve Snowflake

Normalizovaná data

  • Normalizovaná data: Data uspořádaná do odlišných a atomických entit
  • Výhody:
    • Zvyšuje přesnost a spolehlivost dat
    • Zlepšuje výkon dotazů
    • Optimalizované využití zdrojů
    • Škálovatelnost
Úvod do datového modelování ve Snowflake

Přehled terminologie a funkcí

  • Nenormalizovaná data (UNF): Data bez struktury, neorganizovaná nebo obsahující opakování či anomálie
  • Normalizovaná data: Data uspořádaná do odlišných a atomických entit
  • SELECT FROM: Klauzule SQL pro načtení dat z konkrétní entity
  • DISTINCT: Klauzule SQL vracející jedinečné (různé) hodnoty atributu
  • COUNT: Klauzule SQL počítající počet řádků splňujících zadaná kritéria
  • GROUP BY: Klauzule SQL seskupující řádky se stejnými hodnotami podle zadaných atributů
  • HAVING: Klauzule SQL používaná s GROUP BY k filtrování skupin podle podmínky
  • WHERE: Klauzule SQL pro filtrování záznamů podle zadané podmínky
  • AS: Klauzule SQL pro přejmenování sloupce nebo tabulky pomocí aliasu
Úvod do datového modelování ve Snowflake

Přehled funkcí

-- 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;
Úvod do datového modelování ve Snowflake

Pojďme procvičovat!

Úvod do datového modelování ve Snowflake

Preparing Video For Download...