Pemodelan dimensional

Pengantar Pemodelan Data di Snowflake

Nuno Rocha

Director of Engineering

Pengantar model data dimensional

  • Pemodelan dimensional: Teknik struktur data yang memisahkan pengukuran (fakta) dari detail deskriptif (dimensi), dioptimalkan untuk pelaporan dan analisis.

Model dimensional

Pengantar Pemodelan Data di Snowflake

Pengantar model data dimensional (1)

  • Dimensi: Entitas dengan data kategorikal dalam model dimensional.
  • Fakta: Entitas yang menangkap dan mengkuantifikasi aktivitas dalam kategori pada dimensi.

Model perguruan tinggi dimensional

Pengantar Pemodelan Data di Snowflake

Skema model bintang dimensional

Skema model bintang dimensional

Pengantar Pemodelan Data di Snowflake

Skema model bintang dimensional

  • Snowflake Data Warehouse: Layanan penyimpanan dan analitik berbasis cloud.
  • Skema Snowflake: Metode pengorganisasian data di model dimensional yang mencakup sub-dimensi.

Snowflake, gudang data vs model dimensional

Pengantar Pemodelan Data di Snowflake

Skema model snowflake dimensional

Skema model snowflake dimensional

Pengantar Pemodelan Data di Snowflake

Mendefinisikan dimensi

  • Ganti nama entitas menjadi dim_NamaEntitas agar jelas, mengikuti dimensi di model:
ALTER TABLE students RENAME TO dim_students;
ALTER TABLE classes RENAME TO dim_classes;
ALTER TABLE schools RENAME TO dim_schools;
Pengantar Pemodelan Data di Snowflake

Mendefinisikan dimensi tanggal

  • Membuat tabel dim_date untuk menyimpan tanggal tetap terkait pendaftaran siswa:
CREATE OR REPLACE TABLE dim_date (
    date_id NUMBER(10,0) PRIMARY KEY,
    year NUMBER(4,0),
    semester VARCHAR(255)
);
Pengantar Pemodelan Data di Snowflake

Mendefinisikan fakta pendaftaran

  • Buat entitas fakta yang mereferensikan semua dimensi:
CREATE OR REPLACE TABLE fact_enrollments (
    enrollment_id NUMBER(10,0) PRIMARY KEY,
    student_id NUMBER(10,0),
    class_id NUMBER(10,0),
    date_id NUMBER(10,0),
    FOREIGN KEY (student_id) REFERENCES dim_students(student_id),
    FOREIGN KEY (class_id) REFERENCES dim_classes(class_id),
    FOREIGN KEY (date_id) REFERENCES dim_date(date_id)
);
Pengantar Pemodelan Data di Snowflake

Mengambil data dari dimensi

Model data dimensional perguruan tinggi

Pengantar Pemodelan Data di Snowflake

Mengambil data dari dimensi (1)

SELECT name, 
    class_name
FROM fact_enrollments
    JOIN dim_students -- Join untuk mendapatkan nama siswa
    ON fact_enrollments.student_id = dim_students.student_id
    JOIN dim_classes -- Join untuk mendapatkan nama kelas
    ON fact_enrollments.class_id = dim_classes.class_id
    JOIN dim_schools -- Join untuk memfilter sekolah 'Science'
    ON dim_classes.school_id = dim_schools.school_id
    JOIN dim_date -- Join untuk membatasi data ke tahun 2023
    ON fact_enrollments.date_id = dim_date.date_id
WHERE dim_schools.school_name = 'Science' 
    AND dim_date.year = 2023;
Pengantar Pemodelan Data di Snowflake

Ringkasan istilah dan fungsi

  • Pemodelan dimensional: Teknik struktur data yang memisahkan pengukuran (fakta) dari detail deskriptif (dimensi) untuk pelaporan dan analisis
  • Dimensi: Entitas dengan data kategorikal dalam model dimensional
  • Fakta: Entitas yang menangkap dan mengkuantifikasi aktivitas dalam kategori pada dimensi
  • ALTER TABLE: Perintah SQL untuk mengubah struktur entitas yang ada
  • RENAME TO: Perintah SQL, digunakan dengan ALTER TABLE, untuk mengganti nama entitas
  • JOIN ON: Klausa SQL untuk menggabungkan baris dari tabel berdasarkan kolom terkait
  • WHERE: Klausa SQL untuk memfilter catatan berdasarkan kondisi
  • AND: Operator logika pada klausa WHERE untuk menggabungkan beberapa kondisi
Pengantar Pemodelan Data di Snowflake

Ringkasan fungsi

-- Mengubah sebuah entitas
ALTER TABLE table_name 
RENAME TO new_name;
-- Mengquery data dari entitas yang di-join dan difilter kondisi tertentu
SELECT 
    table_name.column_name,
    other_name.*
FROM table_name
    JOIN other_table 
    ON table_name.FK = other_table.PK
WHERE column_name  condition  value
    AND column_name  condition  value;
Pengantar Pemodelan Data di Snowflake

Ayo berlatih!

Pengantar Pemodelan Data di Snowflake

Preparing Video For Download...