Penggunaan Slowly Changing Dimension

Posted on February 2, 2008

Data-data history merupakan sebuah asset yang sangat berharga dalam sebuah organisasi. Akan tetapi tidak semua data history itu berguna. Sebagai ilustrasi ketika terjadi perpindahan pegawai atau sales dari organisasi kerja antar departemen yang berbeda atau antar cabang, tentunya kita tidak ingin semua data transaksi-nya hilang begitu saja. Kita tentunya tahu dalam pembuatan sebuah star schema (data warehouse) sebuah dimension dipakai untuk merepresentasikan dari sudut pandang mana sebuah data akan diukur (measures). Di dalam konsep tradisional pembentukan sebuah dimension, semua data-data reference dari sebuah transaksi hanya akan memiliki satu record saja.

Lihat diagram dibawah ini tentang penggambaran sebuah dimensi employee :

scd-1

Kita lihat dua kotak sebelah kanan merupakan repsentasi sebuah record no 295, di kotak bagian before adalah kondisi record sebelum di rubah dan kotak yang sebelah kanan hasil perubahan yang terjadi di dalam record tersebut. Jadi ketika terjadi perubahan dalam record di tabel dimEmployee, perubahan data yang lama dengan yang baru akan dilakukan proses data yang lama akan di-timpa (replace) dengan data yang baru. Efeknya adalah data-data transaksi yang lama dan berkaitan dengan dimEmployee tersebut akan berubah mengikuti perubahan tadi. Jika di organisasi tersebut ingin melihat data-data transaksi lama sebelum data dimEmployee berubah tidak akan bisa dilihat, karena data tersebut sudah digantikan dengan data reference yang baru.

scd-2

Sedangkan gambar di atas merupakan penggambaran SCD type-2. Coba perhatikan data sebelumnya menggunakan nilai 9 di dalam field SalesTeritoryKey dan di kolom end date data-nya masih NULL. Setelah terjadi proses perubahan data contoh-nya pindah sales teritory di dalam record lama akan terjadi proses expiry yaitu menambah data di dalam kolom end date dengan tanggal saat terjadi perubahan. Dan akan dibuat sebuah record baru yang menampung perubahan data-nya dan data yang lama. Lihat di record yang baru nilai employeeKey berubah sesuai nilai identity-nya (auto number). sedangkan info yang lain masih sama kecuali field SalesTeritoryKey yang berubah menjadi 10, dan start date-nya menjadi tanggal data yang baru.

Itulah penggunaan Slowly Changing Dimension, didalam artikel berikut-nya kita lihat bagaimana menggunakan SCD dengan SQL Server 2005.

» Filed Under Database

Comments

Leave a Reply




  • About

    I'm not a geek I' just a person who like to share knowledge that I have. Born in Bandung 36 years ago. Right now I'm a free man not belong to any company .