Quando comecei com o Qlikview, uma das coisa que mais tinha medo quando estava fazendo a transformação dos dados, era a referência circular. A referência circular acontece quando duas tabelas se ligam a uma tabele com chaves distintas, similar a um circulo. Veja a figura.
|
Referência Circular |
Pode-se ver que existe duas "trilhas" para chegar a tabela Main Data. Isso causa o famoso erro de referencia circular que toda pessoa novatas, e até veteranos, temem.
Tá bom, mais oque isso tudo tem a ver com Chave sintética? Calma que já chegamos lá !
A chave sintética é criada quando alguma tabela compartilha mais de um nome em comum.
|
Chave Sintética |
A tabela $Syn 1 foi criada afim de sanar o problema de duplicidade de chaves, repare que tanto a tabela Main Data quanto a Calendar possuem o campo Month e Year e por isso a a chave complexa ou sintética foi criada. Porem em uma modelagem de dados, as chaves sistemáticas não podem existir!
Modelar um banco para que isso não ocorra é mais simples que você pensa. Segue um fluxograma que vai te ajudar a eliminar o problemas de chaves sintéticas e de quebra vai minimizar a criação de referências circulares.
|
Fluxograma - Clique para ampliar |
Se seguir o fluxograma não vai ter erro, sua modelagem vai ser limpa e sem dores de cabeça !