Cognos - Relacionamentos no Modelo de Metadados
Os relacionamentos são usados para criar consultas em vários objetos em um modelo de metadados. Os relacionamentos podem ser bidirecionais e, sem criar relacionamento, os objetos são entidades individuais sem uso no modelo de metadados.
Cada objeto no modelo de metadados é conectado usando uma chave primária ou externa na fonte de dados. Você pode criar ou remover relacionamentos no modelo de metadados para atender aos requisitos de negócios.
Existem diferentes relacionamentos que são possíveis, alguns deles são -
One to One- Quando uma instância de um assunto de consulta está relacionada a outra instância. Por exemplo: Cada cliente possui um ID de cliente.
One to Many- Esse relacionamento ocorre quando uma instância do assunto da consulta está relacionada a várias instâncias. Por exemplo: Cada médico tem muitos pacientes.
Many to Many- Esse relacionamento ocorre quando muitas instâncias de um assunto de consulta estão relacionadas a várias instâncias. Por exemplo: Cada paciente tem muitos médicos.
Conceito de Cardinalidade
É definido como o número de linhas relacionadas para cada um dos dois assuntos de consulta. A cardinalidade é usada das seguintes maneiras -
- Loop Joins no esquema Star
- Acesso otimizado à fonte de dados
- Evite dupla contagem de dados de fatos
Ao usar o banco de dados relacional como uma fonte de dados, a cardinalidade pode ser definida considerando as seguintes regras:
- Chaves primárias e estrangeiras
- Os nomes dos itens de consulta de correspondência representam colunas indexadas exclusivamente
- Nomes de itens de consulta correspondentes
As maneiras mais comuns de definir cardinalidade são usando a chave primária e a chave estrangeira. Para visualizar as informações-chave que foram importadas, clique com o botão direito no assunto da consulta → Editar Definição. Você pode importar muitos para muitos relacionamentos, relacionamentos opcionais e junções externas da fonte de dados.
Notação de relacionamento no modelo de metadados
No gerenciador de estrutura, uma relação é representada por Merise notation. A primeira parte desta notação representa o tipo de junção para este relacionamento.
- 0..1 representa zero ou uma correspondência
- 1..1 representa um para um jogo
- 0..n representa zero ou nenhuma correspondência
- 1..n representa uma ou mais correspondências
- 1 - Uma junção interna com todas as linhas correspondentes de ambos os objetos.
- 0 - Uma junção externa com todos os objetos de ambos, incluindo os itens que não correspondem.
Criando ou Modificando os Relacionamentos
Para criar um relacionamento ou combinar objetos logicamente relacionados que não são unidos na importação de metadados. Você pode criar relacionamentos manualmente entre objetos ou definir automaticamente relacionamentos entre objetos com base em critérios selecionados.
Para criar um relacionamento, use a tecla CTRL para selecionar um ou mais itens de consulta, assuntos ou dimensões. Então vá paraAction Menu → Create Relationship.
Se este for um relacionamento válido, o gerente do Framework deseja criar um atalho para o relacionamento. Você pode então clicar no botão OK.
Depois de criar um relacionamento após a importação de metadados, você também pode modificar o relacionamento ou cardinalidade no gerenciador do Framework.
Para editar um relacionamento, clique em um relacionamento e em Action menu → click Edit Definition.
De Relationship Expression tab → Select Query items, Cardinalities and Operators.
Para criar um Join adicional, vá para o Relationship Expression tab → New Link and Define New Relationship.
Para testar este relacionamento, vá para Relationship SQL tab → rows to be returned → Test.
Clique no botão OK.
Criando um Atalho de Relacionamento
Um atalho de relacionamento é definido como o ponteiro para um relacionamento existente e para reutilizar a definição de um relacionamento existente. Quando você faz qualquer alteração no relacionamento de origem, eles são atualizados automaticamente nos atalhos. Os atalhos de relacionamento também são usados para resolver relacionamentos ambíguos entre assuntos de consulta.
O Framework Manager pergunta se você deseja criar um atalho de relacionamento sempre que criar um relacionamento e ambas as condições são verdadeiras.
- Pelo menos um fim para o novo relacionamento é um atalho.
- Existe um relacionamento entre os objetos originais.
Vamos para Action Menu → Create Relationship.
Se este for um relacionamento válido, o gerente do Framework deseja criar um atalho para o relacionamento. Clique em SIM. É exibida uma lista de todos os relacionamentos em que uma extremidade é um objeto de modelo e a outra extremidade é outro objeto de modelo ou um atalho para outro objeto de modelo.
Clique OK.
Criar um Assunto de Consulta
Um assunto de consulta é definido como um conjunto de itens de consulta que possuem um relacionamento inerente. Um assunto de consulta pode ser usado para personalizar os dados que eles recuperam usando um Framework Manager.
A seguir estão os tipos de assunto de consulta em um Framework Manager -
Data Source Query Subject - Eles são baseados nos metadados relacionais definidos pelas instruções SQL e são criados automaticamente para cada tabela e visualização quando você importa metadados para o modelo.
Note - O assunto da consulta da fonte de dados faz referência aos dados de apenas uma fonte de dados por vez, mas você pode editar diretamente o SQL que define os dados recuperados para editar o assunto da consulta.
Model Query Subjects- Eles não são criados diretamente de uma fonte de dados, mas são baseados nos itens de consulta definidos em outros assuntos ou dimensões de consulta. Usando o assunto de consulta do modelo, ele permite que você crie uma visão mais abstrata e comercial da fonte de dados.
Stored Procedure Query Subjects- Eles são criados quando um procedimento é importado de uma fonte de dados relacional. O IBM Cognos Framework Manager suporta apenas procedimentos armazenados definidos pelo usuário e procedimentos armazenados do sistema não são suportados.
Como criar um assunto de consulta de fonte de dados?
De Actions Menu → Create → Query Subject.
Insira o nome de um novo Assunto de Consulta.
Clique em Data Source → OK to open new Query Subject wizard.
Siga as etapas até que o botão Concluir apareça → Concluir
Clique com o botão direito em Query Subject → Edit Definition. Clique noSQL tab → Available database objects box, drag objects to the SQL box.
Você também pode inserir uma referência de fonte de dados, inserir uma macro, incorporar um cálculo e incorporar um filtro.
Selecione as ações na lista e clique em OK.
Objetivo | Açao |
---|---|
Controle de Granularidade | Guia de Determinantes |
Para testar o assunto da consulta | Guia de teste |
Para visualizar SQL | Guia de informações de consulta |
Para visualizar as tabelas do sistema da fonte de dados | Mostrar caixa de seleção de objetos do sistema |
Editar SQL
Quando você edita qualquer fonte de banco de dados Relation, cria ou consulta um banco de dados Relation, o SQL é usado em segundo plano. Você pode usar as seguintes opções -
- Cognos SQL
- SQL nativo
- Passe por SQL
Para editar o SQL do assunto da consulta do modelo, copie o SQL da guia Informações da consulta e cole no novo assunto da consulta da fonte de dados. É possível converter um assunto de consulta de modelo em assunto de consulta de fonte de dados.
- Clique em Assunto de consulta da fonte de dados e Action menu → Edit Definition.
- Clique no botão SQL, arraste objetos ou digite o SQL desejado.
- Clique OK.
Alterar tipo de SQL
Você pode selecionar o tipo de SQL a ser usado ao definir o assunto da consulta da fonte de dados. Esses fatores devem ser considerados ao considerar o tipo de SQL -
Tipo SQL | Vantagem | Desvantagem |
---|---|---|
Cognos SQL | Performance melhorada Trabalhe em todos os bancos de dados suportados |
SQL não padrão não suportado |
SQL nativo | Desempenho otimizado Específico para banco de dados |
SQL não funciona em banco de dados diferente. Você não pode usar SQL que a fonte de dados não oferece suporte para subconsultas. |
Passar SQL | Qualquer SQL suportado por banco de dados | Sem opção para Framework Gerente para otimizar desempenho automaticamente |
Observe também que não é possível alterar o tipo de SQL para assuntos de consulta com base nas fontes de dados OLAP.
Para alterar o tipo de SQL, vá para o assunto da consulta que deseja alterar.
Vamos para Actions menu → Edit Definition and go to Query Information button.
Vamos para Options → SQL Settings tab.
Para alterar o tipo de SQL, clique em Lista de tipos de SQL. Em seguida, clique em OK.