Cognos - Relazioni nel modello dei metadati
Le relazioni vengono utilizzate per creare query su più oggetti in un modello di metadati. Le relazioni possono essere bidirezionali e senza creare relazioni, gli oggetti sono entità individuali senza alcun utilizzo nel modello di metadati.
Ogni oggetto nel modello di metadati è connesso utilizzando la chiave primaria o esterna nell'origine dati. È possibile creare o rimuovere relazioni nel modello di metadati per soddisfare i requisiti aziendali.
Sono possibili diverse relazioni, alcune sono:
One to One- Quando un'istanza di un oggetto della query è correlata a un'altra istanza. Ad esempio: ogni cliente ha un ID cliente.
One to Many- Questa relazione si verifica quando un'istanza dell'oggetto della query si riferisce a più istanze. Ad esempio: ogni medico ha molti pazienti.
Many to Many- Questa relazione si verifica quando molte istanze di un oggetto di query si riferiscono a più istanze. Ad esempio: ogni paziente ha molti medici.
Concetto di cardinalità
È definito come il numero di righe correlate per ciascuno dei due oggetti di query. La cardinalità viene utilizzata nei seguenti modi:
- Loop Join nello schema Star
- Accesso ottimizzato all'origine dati
- Evita il doppio conteggio dei dati dei fatti
Durante l'utilizzo del database relazionale come origine dati, la cardinalità può essere definita considerando le seguenti regole:
- Chiavi primarie ed esterne
- I nomi degli elementi della query di corrispondenza rappresentano colonne indicizzate in modo univoco
- Corrispondenza dei nomi degli elementi della query
Il modo più comune per definire la cardinalità consiste nell'usare la chiave primaria ed esterna. Per visualizzare le informazioni chiave importate, fare clic con il pulsante destro del mouse sull'oggetto della query → Modifica definizione. È possibile importare relazioni molti a molti, relazioni facoltative e join esterni dall'origine dati.
Notazione delle relazioni nel modello dei metadati
Nel Framework manager, una relazione è rappresentata da Merise notation. La prima parte di questa notazione rappresenta il tipo di join per questa relazione.
- 0..1 rappresenta zero o una corrispondenza
- 1..1 rappresenta una corrispondenza uno a uno
- 0..n rappresenta zero o nessuna corrispondenza
- 1..n rappresenta una o più corrispondenze
- 1 - Un join interno con tutte le righe corrispondenti di entrambi gli oggetti.
- 0 - Un'unione esterna con tutti gli oggetti di entrambi, inclusi gli elementi che non corrispondono.
Creazione o modifica delle relazioni
Per creare una relazione o per combinare oggetti logicamente correlati che non sono uniti nell'importazione dei metadati. È possibile creare manualmente una relazione tra gli oggetti o definire automaticamente la relazione tra gli oggetti in base ai criteri selezionati.
Per creare una relazione, utilizzare il tasto CTRL per selezionare uno o più elementi, oggetti o dimensioni della query. Quindi vai aAction Menu → Create Relationship.
Se si tratta di una relazione valida, il gestore del framework desidera creare un collegamento alla relazione. È quindi possibile fare clic sul pulsante OK.
Dopo aver creato una relazione dopo l'importazione dei metadati, è anche possibile modificare la relazione o la cardinalità nel gestore Framework.
Per modificare una relazione, fare clic su una relazione e da Action menu → click Edit Definition.
Dal Relationship Expression tab → Select Query items, Cardinalities and Operators.
Per creare un join aggiuntivo, vai al Relationship Expression tab → New Link and Define New Relationship.
Per testare questa relazione, vai a Relationship SQL tab → rows to be returned → Test.
Fare clic sul pulsante OK.
Creazione di una scorciatoia per la relazione
Un collegamento alla relazione è definito come il puntatore a una relazione esistente e per riutilizzare la definizione di una relazione esistente. Quando si apportano modifiche alla relazione di origine, vengono automaticamente aggiornate in collegamenti. I collegamenti alle relazioni vengono utilizzati anche per risolvere relazioni ambigue tra gli oggetti della query.
Il Framework Manager chiede se si desidera creare un collegamento alla relazione ogni volta che si crea una relazione ed entrambe queste condizioni sono vere.
- Almeno un'estremità della nuova relazione è una scorciatoia.
- Esiste una relazione tra gli oggetti originali.
Vai a Action Menu → Create Relationship.
Se si tratta di una relazione valida, il gestore del framework desidera creare un collegamento alla relazione. Fare clic su SÌ. Viene visualizzato un elenco di tutte le relazioni in cui un'estremità è un oggetto del modello e l'altra è un altro oggetto del modello o un collegamento a un altro oggetto del modello.
Fare clic su OK.
Crea un oggetto della query
Un oggetto di query è definito come un insieme di elementi di query che hanno una relazione intrinseca. È possibile utilizzare un oggetto di query per personalizzare i dati recuperati utilizzando un Framework Manager.
Di seguito sono riportati i tipi di oggetto della query in un Framework Manager:
Data Source Query Subject - Si basano sui metadati relazionali definiti dalle istruzioni SQL e vengono creati automaticamente per ogni tabella e vista quando si importano i metadati nel modello.
Note - L'oggetto della query dell'origine dati fa riferimento ai dati di una sola origine dati alla volta, ma è possibile modificare direttamente l'SQL che definisce i dati di recupero per modificare l'oggetto della query.
Model Query Subjects- Non vengono creati direttamente da un'origine dati, ma si basano sugli elementi di query definiti in altri oggetti o dimensioni di query. Utilizzando l'oggetto della query del modello, consente di creare una vista più astratta e aziendale dell'origine dati.
Stored Procedure Query Subjects- Vengono creati quando una procedura viene importata da un'origine dati relazionale. IBM Cognos Framework Manager supporta solo stored procedure definite dall'utente e le stored procedure di sistema non sono supportate.
Come creare un oggetto della query dell'origine dati?
A partire dal Actions Menu → Create → Query Subject.
Immettere il nome di un nuovo oggetto della query.
Clicca su Data Source → OK to open new Query Subject wizard.
Seguire i passaggi finché non viene visualizzato il pulsante Fine → Fine
Fare clic con il tasto destro su Query Subject → Edit Definition. Clicca sulSQL tab → Available database objects box, drag objects to the SQL box.
È inoltre possibile inserire un riferimento a un'origine dati, inserire una macro, incorporare un calcolo e incorporare un filtro.
Seleziona le azioni dall'elenco e fai clic su OK.
Scopo | Azione |
---|---|
Controllo della granularità | Tab. Determinanti |
Per testare l'oggetto della query | Scheda Test |
Per visualizzare SQL | Scheda Informazioni query |
Per visualizzare le tabelle di sistema dall'origine dati | Casella di controllo Mostra oggetti di sistema |
Modifica SQL
Quando si modifica un'origine database Relation, si crea o si interroga un database Relation, viene utilizzato SQL in background. È possibile utilizzare le seguenti opzioni:
- Cognos SQL
- SQL nativo
- Passa attraverso SQL
Per modificare l'SQL dell'oggetto della query del modello, copiare l'SQL dalla scheda Informazioni sulla query e incollarlo nel nuovo oggetto della query dell'origine dati. È possibile convertire un oggetto di query del modello in un oggetto di query dell'origine dati.
- Fare clic su Oggetto query origine dati e Action menu → Edit Definition.
- Fare clic sul pulsante SQL, trascinare gli oggetti o digitare l'SQL che si desidera.
- Fare clic su OK.
Cambia tipo di SQL
È possibile selezionare il tipo di SQL da utilizzare quando si definisce l'oggetto della query dell'origine dati. Questi fattori dovrebbero essere considerati mentre si considera il tipo di SQL -
Tipo SQL | Vantaggio | Svantaggio |
---|---|---|
Cognos SQL | Prestazione migliorata Lavora su tutti i database supportati |
SQL non standard non supportato |
SQL nativo | Ottimizzazione delle prestazioni Specifico per Database |
SQL non funziona su database diversi. Non è possibile utilizzare SQL che l'origine dati non supporta per le sottoquery. |
Passa attraverso SQL | Qualsiasi SQL supportato dal database | Nessuna opzione per Framework Manager da ottimizzare prestazioni automaticamente |
Si noti inoltre che non è possibile modificare il tipo di SQL per gli oggetti di query in base alle origini dati OLAP.
Per modificare il tipo SQL, vai all'oggetto della query che desideri modificare.
Vai a Actions menu → Edit Definition and go to Query Information button.
Vai a Options → SQL Settings tab.
Per modificare il tipo di SQL, fare clic su Elenco tipi di SQL. Quindi fare clic su OK.