Cognos - Meta Veri Modelinde İlişkiler
İlişkiler, bir meta veri modelindeki birden çok nesne üzerinde sorgu oluşturmak için kullanılır. İlişkiler çift yönlü olabilir ve ilişki oluşturmadan nesneler, meta veri modelinde kullanılmayan bağımsız varlıklardır.
Meta veri modelindeki her nesne, veri kaynağındaki birincil veya yabancı anahtar kullanılarak bağlanır. İş gereksinimlerini karşılamak için meta veri modelinde ilişkiler oluşturabilir veya kaldırabilirsiniz.
Mümkün olan farklı ilişkiler var, bunlardan bazıları -
One to One- Bir sorgu konusunun bir örneği başka bir örnekle ilişkili olduğunda. Örneğin: Her müşterinin bir müşteri kimliği vardır.
One to Many- Bu ilişki, bir sorgu konusu örneği birden çok örnekle ilişkili olduğunda gerçekleşir. Örneğin: Her doktorun birçok hastası vardır.
Many to Many- Bu ilişki, bir sorgu konusunun birçok örneği birden çok örnekle ilişkili olduğunda oluşur. Örneğin: Her hastanın birçok doktoru vardır.
Kardinalite Kavramı
İki sorgu öznesinin her biri için ilgili satırların sayısı olarak tanımlanır. Kardinalite aşağıdaki şekillerde kullanılır -
- Yıldız şemasında Döngü Birleşmeleri
- Veri kaynağına optimize edilmiş erişim
- Veri verilerini iki kez saymaktan kaçının
İlişkisel veritabanını veri kaynağı olarak kullanırken, Cardinality aşağıdaki kurallar dikkate alınarak tanımlanabilir -
- Birincil ve Yabancı anahtarlar
- Eşleşme sorgusu öğe adları benzersiz şekilde dizine alınmış sütunları temsil eder
- Sorgu öğesi adlarını eşleştirme
Kardinaliteyi tanımlamanın en yaygın yolu, birincil ve yabancı anahtarı kullanmaktır. İçe aktarılan anahtar bilgileri görüntülemek için, sorgu konusuna sağ tıklayın → Tanımı Düzenle. Veri kaynağından birçok ilişkiye, isteğe bağlı ilişkiye ve dış birleşimlere çok şey aktarabilirsiniz.
Meta Veri Modelinde İlişki Gösterimi
Çerçeve yöneticisinde bir ilişki şu şekilde temsil edilir: Merise notation. Bu gösterimin ilk bölümü, bu ilişki için birleştirme türünü temsil eder.
- 0..1, sıfır veya bir eşleşmeyi temsil eder
- 1..1 bire bir eşleşmeyi temsil eder
- 0..n Sıfır veya eşleşme olmadığını gösterir
- 1..n Bir veya daha fazla eşleşmeyi temsil eder
- 1 - Her iki nesneden tüm eşleşen satırları içeren bir iç birleşim.
- 0 - Eşleşmeyen öğeler dahil, her ikisinden de tüm nesnelerle bir Dış birleşim.
İlişkileri Oluşturma veya Değiştirme
Bir İlişki oluşturmak veya meta veri içe aktarmada birleştirilmemiş mantıksal olarak ilişkili nesneleri birleştirmek için. Nesneler arasında manuel olarak ilişki oluşturabilir veya seçilen kriterlere göre nesneler arasındaki ilişkiyi otomatik olarak tanımlayabilirsiniz.
Bir İlişki oluşturmak için, bir veya daha fazla sorgu öğesi, konu veya boyut seçmek için CTRL tuşunu kullanın. Sonra şuraya gitAction Menu → Create Relationship.
Bu geçerli bir İlişki ise, Çerçeve yöneticisi ilişkiye bir kısayol oluşturmak ister. Daha sonra Tamam düğmesine tıklayabilirsiniz.
Meta veri içe aktarıldıktan sonra bir ilişki oluşturduğunuzda, Framework yöneticisinde ilişkiyi veya Kardinaliteyi de değiştirebilirsiniz.
Bir İlişkiyi düzenlemek için bir ilişkiye tıklayın ve Action menu → click Edit Definition.
İtibaren Relationship Expression tab → Select Query items, Cardinalities and Operators.
Ek bir Birleştirme oluşturmak için şuraya gidin: Relationship Expression tab → New Link and Define New Relationship.
Bu İlişkiyi test etmek için şu adrese gidin: Relationship SQL tab → rows to be returned → Test.
Tamam düğmesine tıklayın.
İlişki Kısayolu Oluşturma
İlişki kısayolu, var olan bir ilişkiye işaret etmek ve mevcut bir ilişkinin tanımını yeniden kullanmak için tanımlanır. Kaynak İlişkisinde herhangi bir değişiklik yaptığınızda, bunlar kısayollarda otomatik olarak güncellenir. İlişki kısayolları, sorgu konuları arasındaki belirsiz ilişkiyi çözmek için de kullanılır.
Framework Manager, bir ilişki oluşturduğunuzda bir ilişki kısayolu oluşturmak isteyip istemediğinizi sorar ve bu koşulların ikisi de doğrudur.
- Yeni ilişki için en az bir uç kısayoldur.
- Orijinal nesneler arasında bir ilişki vardır.
Git Action Menu → Create Relationship.
Bu geçerli bir İlişki ise, Çerçeve yöneticisi ilişkiye bir kısayol oluşturmak ister. EVET'i tıklayın. Bir ucunun bir model nesnesi ve diğer ucunun başka bir model nesnesi veya başka bir model nesnesine kısayol olduğu tüm ilişkilerin bir listesi görünür.
Tamam'ı tıklayın.
Sorgu Konusu Oluşturun
Sorgu konusu, içsel bir ilişkisi olan bir dizi sorgu öğesi olarak tanımlanır. Bir sorgu konusu, bir Framework Manager kullanarak aldıkları verileri özelleştirmek için kullanılabilir.
Aşağıdakiler, Çerçeve Yöneticisindeki sorgu konusu türleridir -
Data Source Query Subject - Bunlar, SQL ifadeleri tarafından tanımlanan İlişkisel meta verilere dayanır ve her tablo için otomatik olarak oluşturulur ve meta verileri modele aktardığınızda görüntülenir.
Note - Veri kaynağı sorgu konusu, bir seferde yalnızca bir veri kaynağından gelen verilere başvurur, ancak sorgu konusunu düzenlemek için geri alınma verilerini tanımlayan SQL'i doğrudan düzenleyebilirsiniz.
Model Query Subjects- Doğrudan bir veri kaynağından oluşturulmazlar, ancak diğer sorgu konuları veya boyutlarında tanımlanan sorgu öğelerine dayanırlar. Model sorgu konusunu kullanarak, veri kaynağının daha soyut ve iş görünümünü oluşturmanıza olanak tanır.
Stored Procedure Query Subjects- Bir Prosedür İlişkisel veri kaynağından içe aktarıldığında oluşturulurlar. IBM Cognos Framework Manager yalnızca kullanıcı tanımlı Saklanan Prosedürleri destekler ve sistemde saklanan prosedürler desteklenmez.
Veri Kaynağı Sorgu Konusu nasıl oluşturulur?
Nereden Actions Menu → Create → Query Subject.
Yeni bir Sorgu Konusunun adını girin.
Tıklamak Data Source → OK to open new Query Subject wizard.
Bitir düğmesi görünene kadar adımları izleyin → Bitir
Sağ tıklayın Query Subject → Edit Definition. TıklaSQL tab → Available database objects box, drag objects to the SQL box.
Ayrıca bir veri kaynağı referansı ekleyebilir, bir makro ekleyebilir, bir hesaplama yerleştirebilir ve bir filtre yerleştirebilirsiniz.
Listeden eylemleri seçin ve Tamam'a tıklayın.
Amaç | Aksiyon |
---|---|
Ayrıntı Kontrolü | Determinantlar Sekmesi |
Sorgu konusunu test etmek için | Test Sekmesi |
SQL'i görüntülemek için | Sorgu Bilgileri Sekmesi |
Veri kaynağından sistem tablolarını görüntülemek için | Sistem Nesnelerini Göster onay kutusu |
SQL'i düzenle
Herhangi bir Relation veritabanı kaynağını düzenlediğinizde, bir Relation veritabanı oluşturduğunuzda veya sorguladığınızda, SQL arka planda kullanılır. Aşağıdaki seçenekleri kullanabilirsiniz -
- Cognos SQL
- Yerel SQL
- SQL'den geçin
Model sorgu konusunun SQL'sini düzenlemek için SQL'i sorgu Bilgileri sekmesinden kopyalayın ve yeni veri kaynağı sorgu konusuna yapıştırın. Bir model sorgu konusunu veri kaynağı sorgu konusuna dönüştürmek mümkündür.
- Veri Kaynağı sorgu konusunu tıklayın ve Action menu → Edit Definition.
- SQL düğmesine tıklayın, nesneleri sürükleyin veya istediğiniz SQL'i yazın.
- Tamam'ı tıklayın.
SQL Türünü Değiştirin
Veri kaynağı sorgu konusunu tanımlarken kullanılacak SQL türünü seçebilirsiniz. SQL türü düşünülürken bu faktörler dikkate alınmalıdır -
SQL Türü | Avantajı | Dezavantaj |
---|---|---|
Cognos SQL | Geliştirilmiş performans Desteklenen tüm veritabanı üzerinde çalışın |
Standart Olmayan SQL desteklenmez |
Yerel SQL | Optimize Edilmiş Performans Veritabanına Özel |
SQL farklı veri tabanlarında çalışmaz. Veri kaynağının alt sorgular için desteklemediği SQL'i kullanamazsınız. |
SQL'den Geç | Veritabanı tarafından desteklenen herhangi bir SQL | Çerçeve için seçenek yok Yönetici optimize edecek otomatik olarak performans |
Ayrıca OLAP veri kaynaklarına göre sorgu konuları için SQL türünü değiştirmenin mümkün olmadığını unutmayın.
SQL türünü değiştirmek için, değiştirmek istediğiniz Sorgu konusuna gidin.
Git Actions menu → Edit Definition and go to Query Information button.
Git Options → SQL Settings tab.
SQL tipini değiştirmek için SQL Type List'e tıklayın. Ardından Tamam'ı tıklayın.