Doğru Yaklaşımı Seçmek

Snowflake ile Veri Modellemesine Giriş

Nuno Rocha

Director of Engineering

Her modelleme tekniği için kullanım durumları

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)

Data Vault'un artıları ve eksileri

Snowflake ile Veri Modellemesine Giriş

Veri modelleri iş başında

Venn diyagramında modeller

Snowflake ile Veri Modellemesine Giriş

Veri modelleri iş başında (1)

Venn diyagramında üniversite verisinin modellere dönüşümü

Snowflake ile Veri Modellemesine Giriş

Modellerden veri çekme

  • Hub varlığını ve uyduyu referans alarak öğrencilerden ayrıntılı veri çek:
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: Soldaki varlığın tüm satırlarını, anahtara dayalı olarak sağ tablodaki eşleşen satırlarla birleştiren SQL ifadesi
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 SQL toplu işlevi.
  • GROUP BY: Aynı değerlere sahip verileri bir araya getiren SQL ifadesi.
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 öznitelik için değer kümesindeki en büyük değeri bulan SQL toplu işlevi.
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ıktan sütunları getiren SQL komutu
  • JOIN ON: İlişkili bir özniteliğe DAYALI olarak varlıklardan satırları birleştiren SQL ifadesi
  • LEFT JOIN ON: Soldaki varlığın tüm satırlarını, anahtara dayalı olarak sağ tablodaki eşleşen satırlarla birleştirir. Eşleşme yoksa, sağ öznitelikler boş kalarak sol varlık satırları yine de görünür
  • COUNT: Bir gruptaki öğe sayısını döndüren SQL toplu işlevi
  • MAX: Bir öznitelik için değer kümesindeki en büyük değeri bulan SQL toplu işlevi
  • GROUP BY: Aynı değerlere sahip verileri bir araya getiren SQL ifadesi
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
    -- Anahtarlara göre varlıkları birleştir
    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
-- Belirli sütunlara göre verileri grupla
GROUP BY column_name;
Snowflake ile Veri Modellemesine Giriş

Hadi pratik yapalım!

Snowflake ile Veri Modellemesine Giriş

Preparing Video For Download...