Relationale Daten normalisieren

Einführung in das Data Modeling in Snowflake

Nuno Rocha

Director of Engineering

Unnormalisierte Daten verstehen

  • Unnormalisierte Daten (UNF): Daten ohne klare Struktur, unorganisiert, mit Wiederholungen und/oder Anomalien

Alle Produkte Entität

Einführung in das Data Modeling in Snowflake

Unnormalisierte Daten verstehen

Anomalien in der Entität „alle Produkte"

Einführung in das Data Modeling in Snowflake

Unnormalisierte Daten verstehen

Hervorgehobene Bananen-Anomalie

Einführung in das Data Modeling in Snowflake

Unnormalisierte Daten verstehen (3)

Hervorgehobene Hersteller-Anomalie

Einführung in das Data Modeling in Snowflake

Unnormalisierte Daten verstehen (4)

Hervorgehobene Detailbeschreibung-Anomalie

Einführung in das Data Modeling in Snowflake

Unnormalisierte Daten verstehen (5)

Hervorgehobene Produkt-Anomalien

Einführung in das Data Modeling in Snowflake

Probleme mit unnormalisierten Daten

  • Datenredundanz: Unnötige Wiederholung von Daten
  • Datenanomalien: Unregelmäßigkeiten oder Inkonsistenzen in den Daten

Anomalien in der Entität „alle Produkte"

Einführung in das Data Modeling in Snowflake

Unnormalisierte Daten erkennen

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

Liste der Hersteller mit Anzahl von Produktwiederholungen

Einführung in das Data Modeling in Snowflake

Unnormalisierte Daten erkennen

SELECT DISTINCT category 
FROM allproducts;

Liste der Kategorien

Einführung in das Data Modeling in Snowflake

Unnormalisierte Daten erkennen

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

Liste der Produkte mit Kategorie L

Einführung in das Data Modeling in Snowflake

Unnormalisierte Daten erkennen

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

Liste aller Produkte, die L enthalten

Einführung in das Data Modeling in Snowflake

Normalisierte Daten

  • Normalisierte Daten: Daten in getrennte, atomare Entitäten organisiert
  • Vorteile:
    • Bessere Datenqualität und Verlässlichkeit
    • Schnellere Abfragen
    • Optimierter Ressourceneinsatz
    • Skalierbarkeit
Einführung in das Data Modeling in Snowflake

Begriffe und Funktionen im Überblick

  • Unnormalisierte Daten (UNF): Daten ohne Struktur, unorganisiert oder mit Wiederholungen bzw. Anomalien
  • Normalisierte Daten: Daten in getrennte, atomare Entitäten organisiert
  • SELECT FROM: SQL-Klausel, um Daten aus einer bestimmten Entität abzurufen
  • DISTINCT: SQL-Klausel, die eindeutige Werte eines Attributs zurückgibt
  • COUNT: SQL-Klausel, die Zeilen zählt, die die Kriterien erfüllen
  • GROUP BY: SQL-Klausel, die Zeilen nach angegebenen Attributen gruppiert
  • HAVING: SQL-Klausel mit GROUP BY, um Gruppen per Bedingung zu filtern
  • WHERE: SQL-Klausel, um Datensätze per Bedingung zu filtern
  • AS: SQL-Klausel, um Spalten oder Tabellen mit einem Alias umzubenennen
Einführung in das Data Modeling in Snowflake

Funktionen im Überblick

-- Eindeutige Werte mit Bedingung abfragen
SELECT DISTINCT column_name
FROM table_name
WHERE column_name  condition  value;
-- Werte je Spalte zählen und Ergebnisse filtern
SELECT column_name, 
    COUNT(*) AS alias_name
FROM table_name
GROUP BY column_name
HAVING COUNT(*)  condition  value;
Einführung in das Data Modeling in Snowflake

Lass uns üben!

Einführung in das Data Modeling in Snowflake

Preparing Video For Download...