Normalizacja danych relacyjnych

Wprowadzenie do modelowania danych w Snowflake

Nuno Rocha

Director of Engineering

Dane niezormalizowane – wprowadzenie

  • Dane niezormalizowane (UNF): Dane pozbawione struktury, nieuporządkowane, zawierające powtórzenia lub anomalie

Encja wszystkich produktów

Wprowadzenie do modelowania danych w Snowflake

Dane niezormalizowane – analiza

Anomalie w encji wszystkich produktów

Wprowadzenie do modelowania danych w Snowflake

Dane niezormalizowane – analiza

Wyróżniona anomalia banana

Wprowadzenie do modelowania danych w Snowflake

Dane niezormalizowane – analiza (3)

Wyróżniona anomalia producenta

Wprowadzenie do modelowania danych w Snowflake

Dane niezormalizowane – analiza (4)

Wyróżniona anomalia opisu szczegółowego

Wprowadzenie do modelowania danych w Snowflake

Dane niezormalizowane – analiza (5)

Wyróżniona anomalia produktów

Wprowadzenie do modelowania danych w Snowflake

Problemy z danymi niezormalizowanymi

  • Redundancja danych: Niepotrzebne powtarzanie danych
  • Anomalie danych: Nieprawidłowości lub niespójności w danych

Anomalie w encji wszystkich produktów

Wprowadzenie do modelowania danych w Snowflake

Identyfikowanie danych niezormalizowanych

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

Lista producentów z liczbą powtórzeń produktów

Wprowadzenie do modelowania danych w Snowflake

Identyfikowanie danych niezormalizowanych

SELECT DISTINCT category 
FROM allproducts;

Lista kategorii

Wprowadzenie do modelowania danych w Snowflake

Identyfikowanie danych niezormalizowanych

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

Lista produktów z kategorią L

Wprowadzenie do modelowania danych w Snowflake

Identyfikowanie danych niezormalizowanych

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

Lista wszystkich produktów zawierających L

Wprowadzenie do modelowania danych w Snowflake

Dane znormalizowane

  • Dane znormalizowane: Dane zorganizowane w odrębne i atomowe encje
  • Zalety:
    • Większa dokładność i niezawodność danych
    • Lepsza wydajność zapytań
    • Optymalne wykorzystanie zasobów
    • Skalowalność
Wprowadzenie do modelowania danych w Snowflake

Przegląd terminologii i funkcji

  • Dane niezormalizowane (UNF): Dane pozbawione struktury, nieuporządkowane lub zawierające powtórzenia i anomalie
  • Dane znormalizowane: Dane zorganizowane w odrębne i atomowe encje
  • SELECT FROM: Klauzula SQL pobierająca dane z określonej encji
  • DISTINCT: Klauzula SQL zwracająca unikalne wartości atrybutu
  • COUNT: Klauzula SQL zliczająca wiersze spełniające podane kryteria
  • GROUP BY: Klauzula SQL grupująca wiersze o tych samych wartościach według podanych atrybutów
  • HAVING: Klauzula SQL używana z GROUP BY do filtrowania grup na podstawie warunku
  • WHERE: Klauzula SQL filtrująca rekordy według podanego warunku
  • AS: Klauzula SQL nadająca kolumnie lub tabeli alias
Wprowadzenie do modelowania danych w Snowflake

Przegląd funkcji

-- 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;
Wprowadzenie do modelowania danych w Snowflake

Czas na ćwiczenia!

Wprowadzenie do modelowania danych w Snowflake

Preparing Video For Download...