5 Replies Latest reply: Nov 17, 2014 9:36 AM by Paulo Dantas RSS

    Relacionamento de Tabelas.

      Pessoal!

      Sou novo aqui. Prazer em conhecê-los!

      Tenho um problema ou dúvida que penso que é problema, referente ao relacionamento das tabelas. Se puderem me ajudar eu agradeço.

      É que eu tenho 14 tabelas que deveriam se relacionar com uma 15ª, que possui uma lista de pessoas. Todas têm um campo que o nome é ID_PESSOA. Como eu tenho tido dificuldade de carregar os dados, que envolvem outras dezenas de tabelas me disseram que o problema é que todas as 15 tabelas estão tentando se relacionar mutuamente, replicando 15 vezes o relacionamento que deveria ser único de todas as 14 com uma única e não das 15 com cada uma das 15.

      Vocês acham que este pode ser realmente um problema?

      Se for, como me disseram, lendo o manual do QlikView vi que poderia desconectar os possíveis relacionamentos que não fossem aqueles vinculados a única tabela de pessoas. Porém, também não consegui saber como fazer isto.

      De qualquer forma, obrigado!

        • Re: Relacionamento de Tabelas.
          Yuri Nicolett

          Ola Rogério, tudo bom?

          Confesso que não consegui compreender seu problema, acho melhor você tentar explica-lo com um exemplo de seus dados e imagens.

           

          Vamos lá:

          Antes de mais nada, queria reforçar a você como o QlikView faz o relacionamento entre tabelas, que diferentemente de um banco de dados que se deve declarar as chaves, no QlikView a ligação é realizada através do nome (ou apelido) dos campos. Se dois campos, de tabelas diferentes, possuírem o mesmo nome, eles serão considerados CHAVE entre essas duas tabelas, mesmo que um campo retorne abacaxi e o outro banana. Dessa forma, se você não quer que determinado campo seja CHAVE com outra tabela, basta renomea-lo no script do QlikView.

           

          Exemplo:

           

          Tabela_A:

          LOAD

               CAMPO1,

               CAMPO2,

               CAMPO3

          FROM Tabela_A.qvd (qvd);

           

          Tabela_B:

          LOAD

               CAMPO3,

               CAMPO4,

               CAMPO5

          FROM Tabela_B.qvd (qvd);

           

          A ligação entre essas duas tabelas, nesse momento será o CAMPO3, pois ele se repete nas duas tabelas. Caso a ligação correta seja, CAMPO1 (Tabela_A) com o CAMPO5 (Tabela_B), basta renomear o CAMPO5 da Tabela_B para CAMPO1, dessa forma:

           

          Tabela_B:

          LOAD

               CAMPO3,

               CAMPO4,

               CAMPO5 as CAMPO1

          FROM Tabela_B.qvd (qvd);

           

           

          Não sei bem se essa era a sua dúvida...

            • Re: Relacionamento de Tabelas.

              Olá Yuri, obrigado pela atenção ao meu problema.

               

              O exemplo que você sugeriu eu já havia entendido e também já havia colocado em prática.

               

              A questão que eu pedi ajuda é um pouco diferente, e como disse, nem sei se é um problema ou se me orientaram inadequadamente quanto a outro problema, dizendo que a solução dizia respeito a este. Vou tentar explicar melhor:

               

              No exemplo que você deu existem apenas 2 tabelas. No meu caso, existem 15 tabelas e em todas elas existe um campo comum chamado "ID_PESSOA", sendo que somente em uma das tabelas aparece o nome da pessoa em um campo chamado "nome" que vou chamar aqui de tabela 1. A dúvida é se havendo 15 tabelas que têm o mesmo campo chamado "ID_PESSOA", as 15 tabelas vão se relacionar mutuamente, gerando 15 X 15 = 225 relacionamentos, ou se haverão apenas 14 relacionamentos com a tabela 1, sem que haja nenhum relacionamento entre as próprias 14 tabelas? Pelo que me disseram, gerar 225 relacionamentos só para o campo "ID_PESSOA", conjuntamente com todos os outros relacionamentos do banco, ficaria muito pesado atrapalhando a performasse e o próprio carregamento dos dados. Se esta hipótese não for verdadeira e o relacionamento do campo "ID_PESSOA" seja apenas 14 vezes, ai não haveria dificuldade de fazer a carga dos dados.

               

              Deu para entender desta vez?

               

              Se puder me ajudar te agradeço!

            • Re: Relacionamento de Tabelas.
              Márcio Rodrigo Campestrini

              Bom dia Rogério

               

              Se entendi o seu problema, segue um exemplo que pode ajudar a esclarecer melhor.