Pertemuan VI Desain Data Warehouse (Dimensional Modelling)
Mendisain Sebuah Data Warehouse Mendisain database untuk data warehouse adalah problem utama dalam mendisain data warehouse Ada dua pendekatan utama dalam perancangan data warehouse Pemodelan dan normalisasi entity relationship (ER) Pemodelan berdimensi
Perancangan Database Menggunakan Pendekatan E-R yang Tradisional Entities and Relationships Aturan Normalisasi (Umumnya 3NF) Menjaga integritas database dengan menghindari anomali (proses pada basis data yang memberikan efek samping yang tidak diharapkan, misalnya menyebabkan ketidak konsistenan data atau membuat sesuatu data menjadi hilang ketika data lain dihapus)
Bentuk Normal Pertama (1NF) Definisi bentuk normal pertama adalah sbb: Suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris.
Bentuk Normal Kedua (2NF) Bentuk normal kedua didefinisikan berdasarkan dependensi Fungsional Suatu relasi berada dalam bentuk normal kedua(2NF) jika dan hanya jika:Telah melalui bentuk normal pertama Semua atribut bukan kunci memiliki ketergantungan sepenuhnya terhadap kunci primer
Ketergantungan fungsi sepenuhnya Suatu atribut Y mempunyai ketergantungan fungsi penuh terhadap atribut X, jikaY mempunyai ketergantungan fungsi terhadap X Y tidak memiliki dependensi terhadap bagian dari X Definisi diatas dituangkan dalam bentuk notasi X Y Contoh: Nilai : (NPM, Kd-Mt-Kul, Nilai) {NPM, Kd-Mt-Kul} Nilai NPM Nilai (Tidak memiliki dependency) Kd-Mt-Kul Nilai (Tidak memiliki dependency)
Berdasarkan diagram dependensi fungsional diatas, pendekomposisian akan menghasilkan dua buah relasi, yang misalnya disebut dengan PEGAWAI dan HISTORY PEGAWAI seperti berikut ini.
Bentuk Normal ketiga (3NF) Definisi Bentuk normal ketiga: Suatu relasi berada dalam bentuk normal ketiga (3NF) jika Telah melalui bentuk normal Kedua Semua atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer Khusus untuk Relasi PEGAWAI sudah dapat memenuhi syarat untuk bentuk normal ketiga (3NF), karena TGLLAHIR dan ALAMAT tidak memiliki hubungan transitif terhadap NIP.
Ketergantungan transitif Suatu Atribut Z mempunyai ketergantungan transitif terhadap X, bila: Y memiliki ketergantungan fungsi terhadap X Z memiliki ketergantungan fungsi terhadap Y Definisi diatas dituangkan dalam bentuk notasi X Y Z Contoh: JADWAL : (MT-KULIAH, RUANG, LANTAI, WAKTU) Dengan demikian notasi dapat ditulis : MT-KULIAH RUANG LANTAI LANTAI ketergantungan transitif terhadap MT-KULIAH.
Namun Relasi HISTORY-PEGAWAI belum termasuk normal 3NF dan harus didekomposisi lagi, Menjadi:
Contoh Normalisasi Sebuah perusahaan manufaktur membuat produk dari beberapa komponen. Setiap produk mempunyai suatu nomor produk yang tersendiri, nama dan waktu perakitan. Semua komponen mempunyai nomor komponen tersendiri, diskripsi, kode supplier dan harga.
Database Yang Sudah Dinormalisasikan Product (ProductCode, Name, Time) Parts (ProductCode, ComponentCode, Qty) Component (ComponentCode, Description, Supplier, Cost) Parts Product Component
Isi Database Ternormalisasi
Conceptual Modeling of Data Warehouses Modeling data warehouses: (Dimensional Modeling) Star schema: A fact table in the middle connected to a set of dimension tables Snowflake schema: A refinement of star schema where some dimensional hierarchy is normalized into a set of smaller dimension tables, forming a shape similar to snowflake Fact constellations: Multiple fact tables share dimension tables, viewed as a collection of stars, therefore called galaxy schema or fact constellation
Skema Star Ukuran
Contoh Skema Star Ukuran
Skema Star Dengan Data Sampel Fakta product nomor 110 selama periode 002: 30 unit terjual di toko S1. Total penjualan dalam dollar 1500, dan total cost dalam dollar 1200 40 unit terjual di toko S3. Total penjualan dalam dollar 2000, dan total cost dalam dollar 1200 Ukuran tabel fakta: Misal jumlah total toko 1000, jumlah total product 10000, jumlah total periode 24 (data berharga 2 tahun) Misal rata-rata 50% (atau 5000) record penjualan selama suatu bulan tertentu Taksiran jumlah baris dalam tabel fakta dihitung sebagai berikut: total baris=1000 toko x 5000 produk aktif x24 bulan = 120,000,000 baris Tabel fakta memiliki 6 field, dimana rata-rata field panjangnya 4 byte. Total size=120,000,000 baris x 6 field x 4 byte/field = 2,880,000,000 bytes . Skema Star Dengan Data Sampel
Example of Star Schema time item time_key day day_of_the_week item_key month quarter year time item_key item_name brand type supplier_type item Sales Fact Table time_key item_key branch_key branch_key branch_name branch_type branch location_key street city province_or_street country location location_key units_sold dollars_sold avg_sales Measures
Example of Snowflake Schema time_key day day_of_the_week month quarter year time item_key item_name brand type supplier_key item supplier_key supplier_type supplier Sales Fact Table time_key item_key branch_key location_key street city_key location branch_key branch_name branch_type branch location_key units_sold city_key city province_or_street country dollars_sold avg_sales Measures
Example of Fact Constellation time_key day day_of_the_week month quarter year time item_key item_name brand type supplier_type item Shipping Fact Table Sales Fact Table time_key Item key time_key Shipper key Item key from_location Branch key branch_key branch_name branch_type branch location_key to_location location_key street city province_or_street country location dollars_cost units_sold units_shipped dollars_sold avg_sales shipper_key shipper_name location_key shipper_type shipper Measures
Apa sebenarnya multi-dimensional database? Suatu pendekatan pada perancangan database yang dapat memberikan database yang mudah dimengerti dan mudah dinavigasikan Tujuannya adalah untuk mendorong pengertian, eksplorasi dan pembelajaran Setiap nomor mempunyai satu set atribut yang terasosiasikan Apa yang direpresentasikan, kapan dibuat, darimana datangnya, produk apa saja yang terkait, promosi apa, dll
Multi-Dimensionality Biasanya mengenai ruangan informasi dalam bentuk cubes atau hyper cubes atau n-cubes Setiap atribut terkait dengan setiap nomor merepresentasikan suatu dimensi Ukuran, waktu, tempat, produk, lokasi dll Tampilan database yang dihasilkan mudah untuk dinavigasikan dan dipindahkan Slice and dice
Tahapan dalam Proses Disain 1. Memilih proses bisnis 2. Memilih inti dari fact table 3. Memilih dimensi 4. Memilih fact yang terukur (umumnya numeric, additive quantities) 5. Melengkapi tabel dimensi
Contoh: Usaha Retail Perusahaan grocery besar dengan perkiraan 500 outlet Setiap outlet mempunyai sekitar 60000 produk dalam tampilannya SKU – Stock Keeping Unit UPC – Universal Product Code
Usaha Retail Perlu untuk memaksimalkan keuntungan dan tetap menjaga stok agar tetap ada Keputusan penting untuk masalah harga dan promosi Tipe promosi adalah: Discount harga sementara Reklame surat kabar Tampilan lemari dan lorong Kupon
Usaha Retail Memilih Proses Bisnis Memilih inti dari tabel fact Pergerakan barang harian Memilih inti dari tabel fact SKU by store by promotion by day Memilih dimensi Waktu, Produk, Toko dan Promosi
Memilih fact terukur Usaha Retail
Lengkapi tabel dimensi Usaha Retail: Dimensi
Usaha Retail: Dimensi Produk
Usaha Retail: Dimensi Toko
Usaha Retail: Dimensi Promosi
Star
Terms Fact table Dimension tables Measures
Dimension Hierarchies sType store city region è snowflake schema è constellations
Multi-dimensional cube: Fact table view: Multi-dimensional cube: dimensions = 2
Multi-dimensional cube: 3-D Cube Fact table view: Multi-dimensional cube: day 2 day 1 dimensions = 3
In SQL: SELECT sum(amt) FROM SALE Aggregates Add up amounts for day 1 In SQL: SELECT sum(amt) FROM SALE WHERE date = 1 81
In SQL: SELECT date, sum(amt) FROM SALE Aggregates Add up amounts by day In SQL: SELECT date, sum(amt) FROM SALE GROUP BY date
Another Example Add up amounts by day, product In SQL: SELECT date, sum(amt) FROM SALE GROUP BY date, prodId rollup drill-down
Aggregates Operators: sum, count, max, min, median, ave Using dimension hierarchy average by region (within store) maximum by month (within date)
Suatu Konsep Hierarki: Dimensi (location) all all region Europe ... North_America country Germany ... Spain Canada ... Mexico city Vancouver ... Frankfurt ... Toronto office L. Chan ... M. Wind
Data Multidimensi Volume Sales sebagai suatu fungsi dari product, month, dan region Dimensi: Product, Location, Time Path intisari hierarkikal Industry Region Year Category Country Quarter Product City Month Week Office Day Region Product Month
Contoh Kubus Data Date Product Country Semua, Semua, Semua Total penjualan TV Setahun di U.S.A. Date 1Qtr 2Qtr 3Qtr 4Qtr sum TV Product PC U.S.A VCR sum Canada Country Mexico sum Semua, Semua, Semua
Bentuk Kubus Yang Terkait Dengan Kubus Data 0-D(apex) cuboid all product country date 1-D cuboids product,country date, country product,date 2-D cuboids product, date, country 3-D(base) cuboid
Model Kubus Data Melihat data sebagai kubus
Operasi Kubus Data OLAP Roll up (drill-up): merujuk ke peningkatan hierarki atau pengurangan dimensi (diberikan total sales by “city”, di roll-up untuk mendapatkan total sales by “state”) Drill down (roll down, kebalikan roll-up): merujuk ke penurunan hierarki atau penambahan dimensi (diberikan total sales by “state”, di roll-down untuk mendapatkan total sales by “city”)
Operasi Kubus Data OLAP
Operasi Kubus Data OLAP Slice: merujuk ke pemilihan dimensi yang digunakan untuk melihat kubus (“customer” by “product” by “date”) Dice: merujuk ke pemilihan posisi sesungguhnya sepanjang dimensi Pivot (rotasi): reorientasi kubus, visualisasi, 3D ke sebarisan bidang 2D
Operasi Kubus Data OLAP
Contoh Kubus Data
Contoh Kubus Data
Contoh Kubus Data
Contoh Kubus Data
Rancangan Suatu Data Warehouse: Suatu Kerangka Analisa Bisnis Tinjauan perihal rancangan dari suatu data warehouse Top-down Memungkinkan seleksi informasi yang relevan, yang perlu untuk data warehouse (perspektif user) Sumber data Membuka informasi yang akan ditangkap, disimpan, dan ditangani oleh sistem operasi (perspektif sumber data)
Rancangan Suatu Data Warehouse: Suatu Kerangka Analisa Bisnis Terdiri dari tabel-tabel fakta dan dimensi tabel (tinjauan dari dalam data warehouse) Query bisnis Melihat perspektif data dalam warehouse dari sisi tinjauan end-user