M için bazı senaryolar: Bir veri ambarı modelinde M ilişkileri
Çoğu OLAP sunucusu ve ROLAP sistemi şu anda M: M veri yapılarıyla ilgilenmek için bir araca sahiptir, ancak bununla ilgili dikkat etmeniz gereken bazı uyarılar vardır. M: M ilişkilerini uygularsanız, raporlama katmanınızı ve hangi araçları desteklemek istediğinizi göz önünde bulundurmanız gerekir.
Senaryo 1: M: M, olgu tablosuna boyut
Buna bir örnek, bir motor politikasındaki birden fazla sürücü olabilir. Bir sürücü ekler veya kaldırırsanız, ilke ayarlama işleminde değişiklikle değişen sürücülerin listesiyle bir ilişki olabilir.
Seçenek 1 - M: M sürücü-gerçek köprü tablosu
Bu, belirli bir politika için x işlem satırına sahip olduğundan, oldukça büyük bir veri hacmine sahip olacaktır. SSAS bu veri yapısını doğrudan tüketebilir, ancak bir ROLAP aracıyla sorgulamak daha yavaştır.
M: M ilişkiniz, olgu sırasına özgü varlıklara (örneğin arabadaki sürücüler) dayanıyorsa, ROLAP aracınızın M: M ilişkilerini desteklemesini sağlayarak (örneğin, İşletmelerde bağlamlar kullanarak), ROLAP aracı için de uygun olabilir. ) Nesneleri.
Seçenek 2 - Sahte 'kombinasyonlar' boyut tablosu
Genel kodların bir listesini bir olgu tablosuna eşliyorsanız (yani, bağlı varlıklar olgu satırına özgü değildir), o zaman veri hacmini azaltacak başka bir yaklaşım benimseyebilirsiniz. Bu tip bir senaryonun bir örneği, yatan hasta ziyaretindeki ICD kodlarıdır. Her yatan hasta ziyaretinde, kendisine karşı listelenen bir veya daha fazla ICD teşhisi ve / veya prosedürü olacaktır. ICD kodları geneldir.
Bu durumda, her bir durum için kod kombinasyonlarının ayrı bir listesini oluşturabilirsiniz. Her farklı kombinasyon için bir sıra içeren bir boyut tablosu yapın ve kombinasyonlar ile ICD kodlarının referans tabloları arasında bir bağlantı tablosuna sahip olun.
Bilgi tablosunda 'kombinasyonlar' boyutunun bir boyut anahtarı olabilir ve boyut satırının gerçek ICD kodlarına bir referans listesi vardır. Çoğu ROLAP aracı bu veri yapısını tüketebilir. Aletiniz sadece gerçek bir M: M ilişkisi ile çalışacaksa, gerçek ile kodlama referans tablosu arasındaki M: M ilişkisini taklit eden bir görünüm oluşturabilirsiniz. SSAS ile tercih edilen yaklaşım bu olacaktır.
Seçenek 1'in avantajları:
- Uygun bir şekilde dizine alınmış, M: M tablosu üzerinden belirli bir ilişki içeren olgu tablosu satırlarının seçilmesine dayanan sorgular makul derecede etkili olabilir.
- Biraz daha basit kavramsal model
Seçenek 2'nin avantajları:
- Veri depolama daha kompakt
- 'Kombinasyonlar' boyutunda bir kod olarak insan okunabilir bir formatta kombinasyonları sunarak düz 1: M ilişkisini taklit edebilirsiniz. Bu, M: M ilişkilerini desteklemeyen açık raporlama araçları için daha yararlı olabilir.
Senaryo 2: M: M boyutlar arasındaki ilişki:
Bir kullanım durumu düşünmek daha zor, ancak bir kez daha ICD kodları ile sağlık dışında bir şey öngörülüyor olabilir. Bir maliyet analiz sisteminde, yatarak ziyaret, bir boyut haline gelebilir ve ziyaret (ya da NHS-konuşmasında danışman-bölüm) ile kodlamalar arasında M: M ilişkileri olacaktır.
Bu durumda, M: M ilişkilerini kurabilir ve muhtemelen bunların insan tarafından okunabilir bir şekilde oluşturulmasını temel boyutta kodlayabilirsiniz. İlişkiler, düz M: M bağlantı tabloları veya daha önce olduğu gibi köprüleme 'kombinasyonları' tablosu aracılığıyla yapılabilir. Bu veri yapısı Business Objects veya daha iyi kalitede ROLAP araçları ile doğru bir şekilde sorgulanabilir.
Başımın üstünden, SSAS'ın bunu doğrudan olgu tablosuna götürmeden bunu kullanabildiğini göremiyorum, bu nedenle kodlama ile olgu tablosu arasındaki M: M ilişkisinin bir görünümünü sunmanız gerekir. Bu veri ile SSAS kullanmak için satır.