Chaves sintéticas
Quando duas ou mais tabelas internas tiverem dois ou mais campos em comum, isso implicará um relacionamento de chave composta. O QlikView resolve isso por meio da criação automática de chaves sintéticas. Essas chaves são campos anônimos que representam todas as combinações ocorridas da chave composta.
Caso você receba um aviso sobre chaves sintéticas quando carregar os dados, é recomendado que você revise a estrutura de dados na visão das tabelas. Você deve se perguntar se o modelo de dados está ou não correto. As vezes está correto, mas, em geral, a chave sintética está lá devido a um erro no script.
Chaves sintéticas múltiplas geralmente são um sintoma de um modelo de dados incorreto, mas não necessariamente. Contudo, chaves sintéticas baseadas em outras chaves sintéticas é um sinal certo de um modelo de dados incorreto.
Tratamento de chaves sintéticas
Se precisar evitar chaves sintéticas, há diversos modos de resolver isso no script de carregamento:
-
Verifique se apenas os campos que vinculam logicamente as duas tabelas são usados como chaves.
- Campos como “Comentários”, “Notas” e “Descrição” podem existir em diversas tabelas sem que haja qualquer relação e, portanto, não devem ser usados como chaves.
- Campos como “Data”, “Empresa” e “Nome” podem existir em diversas tabelas e possuir valores idênticos, embora com funções diferentes (Data do Pedido/Data de Envio, Empresa Consumidora/Empresa Fornecedora). Em tais casos, eles não devem ser usados como chaves.
-
Certifique-se de que os campos redundantes não sejam usados – de que apenas os campos necessários sejam conectados. Por exemplo, se uma data for usada como chave, certifique-se de não carregar ano, mês ou dia_do_mês da mesma data de mais de uma tabela interna.
-
Se necessário, forme suas próprias chaves não compostas, usando normalmente a concatenação de caracteres dentro de uma função do script AutoNumber.