620 likes | 884 Views
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
E N D
MendisainSebuah Data Warehouse • Mendisain database untuk data warehouse adalah problem utamadalammendisain data warehouse • Adaduapendekatanutamadalamperancangan data warehouse • Pemodelandannormalisasi entity relationship (ER) • Pemodelanberdimensi
Perancangan Database MenggunakanPendekatan E-R yang Tradisional • Entities and Relationships • AturanNormalisasi(Umumnya 3NF) • Menjagaintegritas database denganmenghindarianomali (prosespada basis data yang memberikanefeksamping yang tidakdiharapkan, misalnyamenyebabkanketidakkonsistenan data ataumembuatsesuatu data menjadihilangketika 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
Ketergantunganfungsisepenuhnya Suatuatribut Y mempunyaiketergantunganfungsi penuhterhadapatribut X, jikaYmempunyaiketergantunganfungsiterhadap X Y tidakmemilikidependensiterhadapbagiandari X Definisidiatasdituangkandalambentuknotasi X Y Contoh: Nilai : (NPM, Kd-Mt-Kul, Nilai) {NPM, Kd-Mt-Kul} Nilai NPM Nilai (Tidakmemiliki dependency) Kd-Mt-KulNilai (Tidakmemiliki dependency)
Berdasarkan diagram dependensifungsionaldiatas, pendekomposisianakanmenghasilkanduabuahrelasi, yang misalnyadisebutdengan PEGAWAI dan HISTORY PEGAWAI sepertiberikutini.
Bentuk Normal ketiga (3NF) DefinisiBentuk normal ketiga: • Suatu relasi berada dalam bentuk normal ketiga (3NF) jika Telahmelaluibentuk normal Kedua • Semuaatributbukankuncitidakmemilikidependensitransitifterhadapkunci primer KhususuntukRelasi PEGAWAI sudahdapatmemenuhisyaratuntukbentuk normal ketiga (3NF), karena TGLLAHIR dan ALAMAT tidakmemilikihubungantransitifterhadap NIP.
Ketergantungantransitif SuatuAtribut Z mempunyaiketergantungantransitif terhadap X, bila: Y memilikiketergantunganfungsiterhadap X Z memilikiketergantunganfungsiterhadap Y Definisidiatasdituangkandalambentuknotasi X Y Z Contoh: JADWAL : (MT-KULIAH, RUANG, LANTAI, WAKTU) Dengandemikiannotasidapatditulis : MT-KULIAH RUANG LANTAI LANTAI ketergantungantransitifterhadap MT-KULIAH.
NamunRelasi HISTORY-PEGAWAI belumtermasuk normal 3NF danharusdidekomposisilagi, Menjadi:
Contoh Normalisasi • Sebuahperusahaanmanufakturmembuatprodukdaribeberapakomponen. Setiapprodukmempunyaisuatunomorproduk yang tersendiri, namadanwaktuperakitan. Semuakomponenmempunyainomorkomponentersendiri, diskripsi, kode supplier danharga.
Database Yang SudahDinormalisasikan • Product (ProductCode, Name, Time) • Parts (ProductCode, ComponentCode, Qty) • Component (ComponentCode, Description, Supplier, Cost) Parts Product Component
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
SkemaStar Ukuran
Contoh Skema Star Ukuran
Fakta product nomor 110 selamaperiode 002: • 30 unit terjualditoko S1. Total penjualandalam dollar 1500, dan total cost dalam dollar 1200 • 40 unit terjualditoko S3. Total penjualandalam dollar 2000, dan total cost dalam dollar 1200 • Ukurantabelfakta: • Misaljumlah total toko 1000, jumlah total product 10000, jumlah total periode 24 (data berharga 2 tahun) • Misal rata-rata 50% (atau 5000) record penjualanselamasuatubulantertentu • Ukurantabelfakta: • Taksiranjumlahbarisdalamtabelfaktadihitungsebagaiberikut: • total baris=1000 toko x 5000 produkaktif x24 bulan = 120,000,000 baris • Tabelfaktamemiliki 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
item time item_key item_name brand type supplier_type time_key day day_of_the_week month quarter year location branch location_key street city province_or_street country branch_key branch_name branch_type Example of Star Schema Sales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_sales Measures
supplier item time item_key item_name brand type supplier_key supplier_key supplier_type time_key day day_of_the_week month quarter year city location branch city_key city province_or_street country location_key street city_key branch_key branch_name branch_type Example of Snowflake Schema Sales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_sales Measures
item time item_key item_name brand type supplier_type time_key day day_of_the_week month quarter year location location_key street city province_or_street country shipper branch shipper_key shipper_name location_key shipper_type branch_key branch_name branch_type Shipping Fact Table Example of Fact Constellation time_key Sales Fact Table Item key time_key Shipper key Item key from_location Branch key to_location location_key dollars_cost units_sold units_shipped dollars_sold avg_sales Measures
Apasebenarnya multi-dimensionaldatabase? • Suatupendekatanpadaperancangan database yang dapatmemberikan database yang mudahdimengertidanmudahdinavigasikan • Tujuannyaadalahuntukmendorongpengertian, eksplorasidanpembelajaran • Setiapnomormempunyaisatu set atribut yang terasosiasikan • Apa yang direpresentasikan, kapandibuat, darimanadatangnya, produkapasaja yang terkait, promosiapa, dll
Multi-Dimensionality • Biasanyamengenairuanganinformasidalambentuk cubes atau hyper cubes atau n-cubes • Setiapatributterkaitdengansetiapnomormerepresentasikansuatudimensi • Ukuran, waktu, tempat, produk, lokasidll • Tampilan database yang dihasilkanmudahuntukdinavigasikandandipindahkan • Slice and dice
Tahapan dalam Proses Disain 1. Memilihprosesbisnis 2. Memilihintidari fact table 3. Memilihdimensi 4. Memilih fact yang terukur (umumnya numeric, additive quantities) 5. Melengkapitabeldimensi
Contoh: Usaha Retail • Perusahaan grocery besardenganperkiraan 500 outlet • Setiap outlet mempunyaisekitar 60000 produkdalamtampilannya • 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 • Pergerakan barang harian • Memilih inti dari tabel fact • SKU by store by promotion by day • Memilih dimensi • Waktu, Produk, Toko dan Promosi
Usaha Retail • Memilih fact terukur
Usaha Retail: Dimensi • Lengkapitabeldimensi
Terms • Fact table • Dimension tables • Measures
Dimension Hierarchies sType store city region è snowflake schema è constellations
Cube Fact table view: Multi-dimensional cube: dimensions = 2
day 2 day 1 3-D Cube Fact table view: Multi-dimensional cube: dimensions = 3
Aggregates • Add up amounts for day 1 • In SQL: SELECT sum(amt) FROM SALE • WHERE date = 1 81
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 Europe ... North_America region Germany ... Spain Canada ... Mexico country Vancouver ... city Frankfurt ... Toronto L. Chan ... M. Wind office
Data Multidimensi Dimensi: Product, Location, Time Path intisarihierarkikal • Volume Sales sebagai suatu fungsi dari product, month, dan region Industry Region Year Category Country Quarter Product City Month Week Office Day Region Product Month
Contoh Kubus Data Total penjualan TV Setahun di U.S.A. Date 2Qtr 1Qtr sum 3Qtr 4Qtr TV Product U.S.A PC VCR sum Canada Country Mexico sum Semua, Semua, Semua
BentukKubus Yang Terkait DenganKubus Data 0-D(apex) cuboid all country product 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):merujukkepeningkatanhierarkiataupengurangandimensi (diberikan total sales by “city”, di roll-up untukmendapatkan total sales by “state”) • Drill down (roll down, kebalikanroll-up): merujukkepenurunanhierarkiataupenambahandimensi (diberikan total sales by “state”, di roll-down untukmendapatkan total sales by “city”)
Operasi Kubus Data OLAP • Slice: merujukkepemilihandimensi yang digunakanuntukmelihatkubus (“customer” by “product” by “date”) • Dice:merujukkepemilihanposisisesungguhnyasepanjangdimensi • Pivot (rotasi): reorientasikubus, visualisasi, 3D kesebarisanbidang 2D