Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

SQL untuk Gudang Data

Pelajaran 6 dari 16

Skema bintang

Kepingan salju dan meratakan dimensi

Setelah pelajaran ini kamu bisa menjelaskan kapan dimensi kepingan salju dipakai dan meratakannya menjadi satu tabel dimensi dengan JOIN.

±14 menitDiperiksa 3 Okt 2026

Materi

Dimensi kepingan salju adalah dimensi yang dinormalisasi menjadi beberapa tabel. Contoh Microsoft: produk dikelompokkan ke subkategori, dan subkategori ke kategori, sehingga dimensi produk tersimpan di tiga tabel yang saling merujuk. Digambar dari tabel fakta, tabel-tabel itu bercabang keluar seperti kepingan salju. Sistem sumber sering berbentuk seperti ini, karena memang dinormalisasi untuk transaksi.

Untuk gudang data, Microsoft menyatakan dimensi hampir selalu didenormalisasi: hierarki kategori, subkategori, dan produk diratakan menjadi kolom-kolom di satu tabel. Kepingan salju dipertimbangkan bila dimensinya sangat besar sehingga biaya penyimpanan lebih berat dari kecepatan kueri, bila ada tabel fakta pada grain lebih tinggi yang butuh kunci sendiri (misalnya target per subkategori), atau bila riwayat perubahan perlu dilacak di tingkat lebih tinggi. Bila kepingan salju dipakai, Microsoft menyarankan view yang menggabungkan tabel-tabelnya supaya pengguna tetap melihat satu dimensi rata.

-- Apotek: tiga tabel sumber diratakan menjadi bentuk dim_obat
WITH rata AS (
  SELECT o.kode_obat, o.nama, g.nama AS golongan, k.nama AS kelompok
  FROM src_obat o
  JOIN src_golongan g ON g.id = o.golongan_id
  JOIN src_kelompok k ON k.id = g.kelompok_id
)
SELECT * FROM rata;

Hierarki di dimensi rata disebut seimbang bila setiap anggota punya jumlah tingkat yang sama, seperti tahun, kuartal, bulan, dan tanggal. Fakta selalu terhubung ke tingkat terendah, sehingga nilainya bisa digulung naik ke tingkat mana pun cukup dengan GROUP BY kolom tingkat itu. CTE dari kelas SQL Lanjutan membantu memberi nama pada langkah perataan, dan dokumentasi SQLite menyebut CTE biasa bekerja seperti view sementara selama satu pernyataan.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 2 dari 3

Toko menambahkan tabel fakta target penjualan per subkategori per bulan. Dalam keadaan itu, apa yang menjadi alasan menyimpan subkategori sebagai tabel dimensi tersendiri?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 1 lagi