Beberapa skenario untuk hubungan M: M dalam model data warehouse
Sebagian besar server OLAP dan sistem ROLAP memiliki sarana untuk menangani struktur data M: M sekarang, tetapi ada beberapa peringatan tentang hal ini yang perlu Anda perhatikan. Jika Anda menerapkan hubungan M: M, Anda perlu mengawasi lapisan pelaporan Anda dan alat apa yang ingin Anda dukung.
Skenario 1: M: M dimensi ke tabel fakta
Contohnya mungkin beberapa driver pada kebijakan motor. Jika Anda menambah atau menghapus driver, transaksi penyesuaian kebijakan mungkin memiliki hubungan dengan daftar driver yang berubah dengan penyesuaian.
Opsi 1 - M: Tabel jembatan driver-fakta M
Ini akan memiliki volume data yang cukup besar, karena memiliki driver x baris transaksi untuk kebijakan yang diberikan. SSAS dapat menggunakan struktur data ini secara langsung, tetapi lebih lambat untuk melakukan kueri melalui alat ROLAP.
Jika hubungan M: M Anda didasarkan pada entitas yang khusus untuk baris fakta (misalnya driver pada mobil) ini mungkin cocok untuk alat ROLAP juga, menyediakan alat ROLAP Anda mendukung hubungan M: M (misalnya menggunakan konteks dalam Bisnis Objek).
Opsi 2 - Tabel dimensi 'kombinasi' Dummy
Jika Anda memetakan daftar kode umum ke tabel fakta (yaitu entitas yang ditautkan tidak khas ke baris fakta) maka Anda dapat mengambil pendekatan lain yang akan mengurangi volume data. Contoh dari jenis skenario ini adalah kode ICD pada kunjungan rawat inap. Setiap kunjungan rawat inap akan memiliki satu atau lebih diagnosa ICD dan / atau prosedur yang terdaftar. Kode ICD bersifat global.
Dalam hal ini, Anda dapat membuat daftar kombinasi kode yang berbeda untuk setiap kasus. Buat tabel dimensi dengan satu baris untuk setiap kombinasi yang berbeda, dan miliki tabel tautan antara kombinasi dan tabel referensi untuk kode ICD itu sendiri.
Tabel fakta dapat memiliki kunci dimensi ke dimensi 'kombinasi', dan baris dimensi memiliki daftar referensi ke kode ICD aktual. Sebagian besar alat ROLAP dapat menggunakan struktur data ini. Jika alat Anda hanya akan bekerja dengan hubungan M: M yang sebenarnya, maka Anda dapat membuat tampilan yang meniru hubungan M: M antara fakta dan tabel referensi pengkodean. Ini akan menjadi pendekatan yang disukai dengan SSAS.
Keuntungan opsi 1:
- Diindeks dengan tepat, kueri berdasarkan pemilihan baris tabel fakta dengan hubungan tertentu melalui tabel M: M dapat cukup efisien.
- Model konseptual yang sedikit lebih sederhana
Keuntungan dari opsi 2:
- Penyimpanan data lebih kompak
- Anda dapat meniru hubungan 1: M langsung dengan menghadirkan kombinasi dalam format yang dapat dibaca manusia sebagai kode pada dimensi 'kombinasi'. Ini mungkin lebih berguna pada alat pelaporan dumber yang kurang mendukung untuk hubungan M: M.
Skenario 2: M: M hubungan antara dimensi:
Sulit untuk memikirkan kasus penggunaan, tetapi orang bisa membayangkan sesuatu keluar dari perawatan kesehatan dengan kode ICD lagi. Pada sistem analisis biaya, kunjungan rawat inap dapat menjadi dimensi, dan akan memiliki hubungan M: M antara kunjungan (atau episode konsultan di NHS-speak) dan kode-kode.
Dalam hal ini, Anda dapat mengatur hubungan M: M, dan mungkin menyusun rendering yang dapat dibaca manusia dari mereka pada dimensi dasar. Hubungan dapat dilakukan melalui tabel tautan M: M lurus atau melalui tabel 'kombinasi' seperti sebelumnya. Struktur data ini dapat ditanyakan dengan benar melalui Objek Bisnis atau alat ROLAP yang lebih berkualitas.
Dari atas kepala saya, saya tidak bisa melihat SSAS dapat mengkonsumsi ini tanpa membawa hubungan langsung ke tabel fakta, jadi Anda perlu menyajikan pandangan tentang hubungan M: M antara pengkodean dan tabel fakta baris untuk menggunakan SSAS dengan data ini.