Veri Kasası

Snowflake ile Veri Modellemesine Giriş

Nuno Rocha

Director of Engineering

Data Vault modeline giriş

  • Data Vault modeli: Hub, link ve uydu (satellite) yapılarıyla tarihsel veriyi izlemeye odaklanan modelleme tekniği.

Data vault modeli

Snowflake ile Veri Modellemesine Giriş

Data Vault bileşenleri

  • Hub'lar: Tek bir iş anahtarıyla benzersiz iş kavramlarını temsil eder.

Data vault modeli: hub'lar

Snowflake ile Veri Modellemesine Giriş

Data Vault bileşenleri (1)

  • Link'ler: Hub'lar arasındaki ilişkileri ve etkileşimleri yakalar.

Data vault modeli: Link'ler

Snowflake ile Veri Modellemesine Giriş

Data Vault bileşenleri (2)

  • Uydular: Hub ve link'lere ait açıklayıcı ve tarihsel ayrıntıları saklar.

Data vault modeli: uydular

Snowflake ile Veri Modellemesine Giriş

Hub oluşturma

Kolej data vault hub'ları

Snowflake ile Veri Modellemesine Giriş

Hub oluşturma (1)

  • AUTOINCREMENT: Her yeni satır için benzersiz, artan sayısal değerleri otomatik üretir.
CREATE OR REPLACE TABLE hub_students (
    student_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY
);
Snowflake ile Veri Modellemesine Giriş

Hub oluşturma (2)

  • Otomatik üretilen benzersiz sayısal anahtar ve hub kavram kimliği ile yeni bir hub oluşturun:
CREATE OR REPLACE TABLE hub_students (
    student_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    student_id NUMBER(10,0)
);
1 Ardından, her kavramı tanımlayan iş anahtarını listeleriz; student_id her öğrenciyi tanımlar
Snowflake ile Veri Modellemesine Giriş

Hub oluşturma (3)

  • Tarihçe izleme alanlarını ekleyin:
CREATE OR REPLACE TABLE hub_students (
    student_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    student_id NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255)
);
Snowflake ile Veri Modellemesine Giriş

Hub oluşturma (4)

  • Yeni sınıflar hub'ı oluşturun:
CREATE OR REPLACE TABLE hub_classes (
    class_key NUMBER(10,0)
          AUTOINCREMENT 
          PRIMARY KEY,
    class_id NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255)
);
  • Yeni okullar hub'ını oluşturun:
CREATE OR REPLACE TABLE hub_schools (
    school_key NUMBER(10,0) 
          AUTOINCREMENT 
          PRIMARY KEY,
    school_id NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255)
);
Snowflake ile Veri Modellemesine Giriş

Link (bağ) oluşturma

Kolej data vault linkleri

Snowflake ile Veri Modellemesine Giriş

Link oluşturma (1)

  • Otomatik üretilen benzersiz sayısal anahtarla bir link varlığı oluşturun:
CREATE OR REPLACE TABLE link_enrollments (
    link_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY
);
Snowflake ile Veri Modellemesine Giriş

Link oluşturma (2)

  • Diğer varlıklarla ilişkileri ekleyin:
CREATE OR REPLACE TABLE link_enrollments (
    link_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    student_key NUMBER(10,0),
    class_key NUMBER(10,0),
    FOREIGN KEY (student_key) REFERENCES hub_students(student_key),
    FOREIGN KEY (class_key) REFERENCES hub_classes(class_key)
);
Snowflake ile Veri Modellemesine Giriş

Link oluşturma (3)

  • Tarihçe izleme alanlarını ekleyin:
CREATE OR REPLACE TABLE link_enrollments (
    link_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    student_key NUMBER(10,0),
    class_key NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (student_key) REFERENCES hub_students(student_key),
    FOREIGN KEY (class_key) REFERENCES hub_classes(class_key)
);
Snowflake ile Veri Modellemesine Giriş

Link oluşturma (4)

  • Yeni offerings link varlığını oluşturun:
CREATE OR REPLACE TABLE link_offerings (
    link_key NUMBER(10,0) AUTOINCREMENT PRIMARY KEY,
    class_key NUMBER(10,0),
    school_key NUMBER(10,0),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (class_key) REFERENCES hub_classes(class_key),
    FOREIGN KEY (school_key) REFERENCES hub_schools(school_key)
);
Snowflake ile Veri Modellemesine Giriş

Uydu (satellite) oluşturma

Kolej data vault uyduları

Snowflake ile Veri Modellemesine Giriş

Uydu oluşturma (1)

  • Tüm kavram özniteliklerini listeleyen yeni bir uydu varlığı oluşturun:
CREATE OR REPLACE TABLE sat_student (
    name VARCHAR(255),
    email VARCHAR(255)
);
Snowflake ile Veri Modellemesine Giriş

Uydu oluşturma (2)

  • Tarihçe izleme alanlarını ekleyin:
CREATE OR REPLACE TABLE sat_student (
    name VARCHAR(255),
    email VARCHAR(255),
    load_date TIMESTAMP,
    record_source VARCHAR(255)
);
Snowflake ile Veri Modellemesine Giriş

Uydu oluşturma (3)

  • Uydu ile ilgili hub arasında bağlantı ekleyin:
CREATE OR REPLACE TABLE sat_student (
    student_key NUMBER(10,0),
    name VARCHAR(255),
    email VARCHAR(255),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (student_key) REFERENCES hub_students(student_key)
);
Snowflake ile Veri Modellemesine Giriş

Uydu oluşturma (4)

  • Yeni bir sınıf uydusu oluşturun:
CREATE OR REPLACE TABLE sat_class (
    class_key NUMBER(10,0),
    class_name VARCHAR(255),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (class_key) 
    REFERENCES hub_classes(class_key)
);
  • Yeni bir okul uydusu oluşturun:
CREATE OR REPLACE TABLE sat_school (
    school_key NUMBER(10,0),
    school_name VARCHAR(255),
    load_date TIMESTAMP,
    record_source VARCHAR(255),
    FOREIGN KEY (school_key) 
    REFERENCES hub_schools(school_key)
);
Snowflake ile Veri Modellemesine Giriş

Terimler ve işlevlere genel bakış

  • Data Vault modeli: Hub, link ve uydularla tarihsel veri izlemeye odaklanan modelleme tekniği.
  • Hub'lar: Tek bir iş anahtarıyla benzersiz iş kavramlarını temsil eder.
  • Link'ler: Hub'lar arasındaki ilişkileri ve etkileşimleri yakalar.
  • Uydular: Hub ve link'lere ait açıklayıcı ve tarihsel ayrıntıları saklar.
  • CREATE OR REPLACE TABLE: Bir tablo yapısı oluşturur veya değiştirir.
  • PRIMARY KEY: Sütunu benzersiz tanımlayıcı olarak belirler.
  • AUTOINCREMENT: Her yeni satır için benzersiz, artan sayısal değer üretir.
  • FOREIGN KEY (...) REFERENCES (...): İki tablo arasında bağlantı kurar.
Snowflake ile Veri Modellemesine Giriş

İşlevlere genel bakış

CREATE OR REPLACE TABLE table_name (
      -- Birincil anahtar olarak otomatik benzersiz değer oluşturun
      unique_key column_datatype AUTOINCREMENT PRIMARY KEY,
      other_business_key column_datatype,
      foreign_column column_datatype,
      other_foreign_column column_datatype,
      -- Diğer varlıklarla ilişki ekleme
      FOREIGN KEY(foreign_column) REFERENCES foreign_table(PK_from_foreign_table),
      FOREIGN KEY(other_foreign) REFERENCES foreign_table(PK_from_other_foreign)
);
Snowflake ile Veri Modellemesine Giriş

Hadi pratik yapalım!

Snowflake ile Veri Modellemesine Giriş

Preparing Video For Download...