Die passende Methode wählen

Einführung in das Data Modeling in Snowflake

Nuno Rocha

Director of Engineering

Einsatzfälle je Modellierungstechnik

Einsatzgebiete für Entity-Relationship-(ER-)Modelle

Einführung in das Data Modeling in Snowflake

Einsatzfälle je Modellierungstechnik (1)

Einsatzgebiete für Dimensionale Modelle

Einführung in das Data Modeling in Snowflake

Einsatzfälle je Modellierungstechnik (2)

Einsatzgebiete für Data-Vault-Modellierung

Einführung in das Data Modeling in Snowflake

Technische Überlegungen

Plus und Minus des ER-Modells

Einführung in das Data Modeling in Snowflake

Technische Überlegungen (1)

Plus und Minus des dimensionalen Modells

Einführung in das Data Modeling in Snowflake

Technische Überlegungen (2)

Plus und Minus von Data Vault

Einführung in das Data Modeling in Snowflake

Datenmodelle in der Praxis

Modelle im Venn-Diagramm

Einführung in das Data Modeling in Snowflake

Datenmodelle in der Praxis (1)

Hochschuldaten in Modellen im Venn-Diagramm

Einführung in das Data Modeling in Snowflake

Daten aus den Modellen abrufen

  • Rufe Detaildaten zu Studierenden ab, indem du die Hub-Entität und ihren Satellite referenzierst:
SELECT
    hs.student_key,
    ss.student_name
FROM hub_students AS hs
    JOIN sat_student AS ss ON hs.student_key = ss.student_key;
Einführung in das Data Modeling in Snowflake

Daten aus den Modellen abrufen (1)

  • LEFT JOIN ON: SQL-Klausel, die alle Zeilen der linken Entität mit passenden Zeilen der rechten Tabelle kombiniert, basierend ON einem Schlüssel
SELECT
    hs.student_key,
    ss.student_name
FROM hub_students AS hs
    JOIN sat_student AS ss ON hs.student_key = ss.student_key
    LEFT JOIN link_enrollment AS le ON hs.student_key = le.student_key
Einführung in das Data Modeling in Snowflake

Daten aus den Modellen abrufen (2)

  • COUNT: SQL-Aggregatfunktion, die die Anzahl der Elemente in einer Gruppe liefert.
  • GROUP BY: SQL-Klausel, um Daten mit gleichen Werten zu aggregieren.
SELECT
    hs.student_key,
    ss.student_name,
    COUNT(le.class_key) AS NumberOfEnrollments
FROM hub_students AS hs
    JOIN sat_student AS ss ON hs.student_key = ss.student_key
    LEFT JOIN link_enrollment AS le ON hs.student_key = le.student_key
GROUP BY hs.student_key, 
    ss.student_name
Einführung in das Data Modeling in Snowflake

Daten aus den Modellen abrufen (3)

  • MAX: SQL-Aggregatfunktion, die den höchsten Wert eines Attributs findet.
SELECT
    hs.student_key,
    ss.student_name,
    COUNT(le.class_key) AS NumberOfEnrollments
    MAX(sc.load_date) AS MostRecentEnrollmentDate
FROM hub_students hs
    JOIN sat_student ss ON hs.student_key = ss.student_key
    LEFT JOIN link_enrollment le ON hs.student_key = le.student_key
    LEFT JOIN sat_class sc ON le.class_key = sc.class_key
GROUP BY hs.student_key, 
    ss.student_name;
Einführung in das Data Modeling in Snowflake

Funktionsübersicht

  • SELECT FROM: SQL-Befehl zum Abrufen von Spalten aus einer Entität
  • JOIN ON: SQL-Klausel zum Kombinieren von Zeilen aus Entitäten basierend ON einem verwandten Attribut
  • LEFT JOIN ON: SQL-Klausel, die alle Zeilen der linken Entität mit passenden Zeilen der rechten Tabelle kombiniert, basierend ON einem Schlüssel. Gibt es keine Übereinstimmung, erscheinen die linken Zeilen mit leeren rechten Attributen
  • COUNT: SQL-Aggregatfunktion, die die Anzahl der Elemente in einer Gruppe liefert
  • MAX: SQL-Aggregatfunktion, die den höchsten Attributwert in einer Menge findet
  • GROUP BY: SQL-Klausel, um Daten mit gleichen Werten zu aggregieren
Einführung in das Data Modeling in Snowflake

Funktionsübersicht

SELECT column_name, 
    COUNT(another_column) AS alias_name,
    MAX(other_column) AS alias_name
FROM table_name table_alias
    -- Entitäten anhand ihrer Schlüssel zusammenführen
    JOIN other_table AS other_alias 
    ON table_alias.FK = other_alias.PK
    LEFT JOIN another_table AS another_alias 
    ON table_alias.FK = other_alias.PK
-- Daten nach bestimmten Spalten aggregieren
GROUP BY column_name;
Einführung in das Data Modeling in Snowflake

Lass uns üben!

Einführung in das Data Modeling in Snowflake

Preparing Video For Download...