Doğru Yaklaşımı Seçme

Snowflake ile Veri Modellemesine Giriş

Nuno Rocha

Director of Engineering

Use cases for each modeling technique

Varlık-İlişki (ER) Modelleri için kullanım durumları

Snowflake ile Veri Modellemesine Giriş

Her modelleme tekniği için kullanım durumları (1)

Boyutsal Modeller için kullanım durumları

Snowflake ile Veri Modellemesine Giriş

Her modelleme tekniği için kullanım durumları (2)

Data Vault Modelleme için kullanım durumları

Snowflake ile Veri Modellemesine Giriş

Teknik değerlendirmeler

ER modelinin artıları ve eksileri

Snowflake ile Veri Modellemesine Giriş

Teknik değerlendirmeler (1)

Boyutsal modelin artıları ve eksileri

Snowflake ile Veri Modellemesine Giriş

Teknik değerlendirmeler (2)

Veri kasasının artıları ve eksileri

Snowflake ile Veri Modellemesine Giriş

Veri modelleri uygulamada

Venn diyagramında modeller

Snowflake ile Veri Modellemesine Giriş

Veri modelleri uygulamada (1)

Venn diyagramında modellere yerleştirilen kolej verisi

Snowflake ile Veri Modellemesine Giriş

Modellerden veri çekme

  • Hub varlığını ve uyduyu referans alarak öğrencilerden ayrıntılı veri alın:
SELECT
    hs.student_key,
    ss.student_name
FROM hub_students AS hs
    JOIN sat_student AS ss ON hs.student_key = ss.student_key;
Snowflake ile Veri Modellemesine Giriş

Modellerden veri çekme (1)

  • LEFT JOIN ON: Sol tablodaki tüm satırları, anahtar ON temelli eşleşen sağ tablo satırlarıyla birleştirir
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
Snowflake ile Veri Modellemesine Giriş

Modellerden veri çekme (2)

  • COUNT: Bir gruptaki öğe sayısını döndüren toplu işlev.
  • GROUP BY: Aynı değerlere sahip verileri gruplayan SQL hükmü.
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
Snowflake ile Veri Modellemesine Giriş

Modellerden veri çekme (3)

  • MAX: Bir özniteliğin değer kümesindeki en yüksek değeri bulur.
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;
Snowflake ile Veri Modellemesine Giriş

İşlevlere genel bakış

  • SELECT FROM: Bir varlıktaki sütunları getirir
  • JOIN ON: İlişkili özniteliklere göre varlık satırlarını birleştirir
  • LEFT JOIN ON: Sol varlığın tüm satırlarını, anahtar ON temelli eşleşen sağ tabloyla birleştirir. Eşleşme yoksa sol varlık satırları sağ öznitelikler boş olarak görünür
  • COUNT: Bir gruptaki öğe sayısını döndürür
  • MAX: Bir öznitelik için en yüksek değeri bulur
  • GROUP BY: Aynı değerlere sahip verileri gruplar
Snowflake ile Veri Modellemesine Giriş

İşlevlere genel bakış

SELECT column_name, 
    COUNT(another_column) AS alias_name,
    MAX(other_column) AS alias_name
FROM table_name table_alias
    -- Merge entities based on their keys
    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
-- Aggregate data by specific columns
GROUP BY column_name;
Snowflake ile Veri Modellemesine Giriş

Hadi pratik yapalım!

Snowflake ile Veri Modellemesine Giriş

Preparing Video For Download...