Normalizarea datelor relaționale

Introducere în modelarea datelor în Snowflake

Nuno Rocha

Director of Engineering

Înțelegerea datelor nenormalizate

  • Date nenormalizate (UNF): Date care pot lipsi de structură, sunt dezorganizate, conțin repetări și/sau anomalii

Entitatea tuturor produselor

Introducere în modelarea datelor în Snowflake

Înțelegerea datelor nenormalizate

Anomalii în entitatea tuturor produselor

Introducere în modelarea datelor în Snowflake

Înțelegerea datelor nenormalizate

Anomalie evidențiată pentru banane

Introducere în modelarea datelor în Snowflake

Înțelegerea datelor nenormalizate (3)

Anomalie evidențiată pentru producător

Introducere în modelarea datelor în Snowflake

Înțelegerea datelor nenormalizate (4)

Anomalie evidențiată în descrierea detaliată

Introducere în modelarea datelor în Snowflake

Înțelegerea datelor nenormalizate (5)

Anomalie evidențiată în produse

Introducere în modelarea datelor în Snowflake

Probleme ale datelor nenormalizate

  • Redundanța datelor: Repetarea inutilă a datelor
  • Anomaliile datelor: Nereguli sau inconsistențe în date

Anomalii în entitatea tuturor produselor

Introducere în modelarea datelor în Snowflake

Identificarea datelor nenormalizate

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

Lista producătorilor cu numărul de repetări ale produselor

Introducere în modelarea datelor în Snowflake

Identificarea datelor nenormalizate

SELECT DISTINCT category 
FROM allproducts;

Lista categoriilor

Introducere în modelarea datelor în Snowflake

Identificarea datelor nenormalizate

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

Lista produselor din categoria L

Introducere în modelarea datelor în Snowflake

Identificarea datelor nenormalizate

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

Lista tuturor produselor care conțin L

Introducere în modelarea datelor în Snowflake

Date normalizate

  • Date normalizate: Date organizate în entități distincte și atomice
  • Beneficii:
    • Îmbunătățește acuratețea și fiabilitatea datelor
    • Optimizează performanța interogărilor
    • Utilizare optimă a resurselor
    • Scalabilitate
Introducere în modelarea datelor în Snowflake

Prezentare generală a terminologiei și funcțiilor

  • Date nenormalizate (UNF): Date care pot lipsi de structură, sunt dezorganizate sau conțin repetări ori anomalii
  • Date normalizate: Date organizate în entități distincte și atomice
  • SELECT FROM: Clauză SQL pentru a prelua date dintr-o entitate specifică
  • DISTINCT: Clauză SQL care returnează valori unice dintr-un atribut
  • COUNT: Clauză SQL care numără rândurile ce corespund criteriilor specificate
  • GROUP BY: Clauză SQL care grupează rândurile cu aceleași valori după atributele specificate
  • HAVING: Clauză SQL utilizată cu GROUP BY pentru a filtra grupurile după o condiție
  • WHERE: Clauză SQL pentru a filtra înregistrările după o condiție specificată
  • AS: Clauză SQL utilizată pentru a redenumi o coloană sau un tabel cu un alias
Introducere în modelarea datelor în Snowflake

Prezentare generală a funcțiilor

-- 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;
Introducere în modelarea datelor în Snowflake

Să exersăm!

Introducere în modelarea datelor în Snowflake

Preparing Video For Download...