Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
msludo
Contributor III
Contributor III

Como resolver essa referência circular?

Bom dia,

Como posso resolver a referência circular abaixo?

referencia circular.png

No modelo de dados original:

A tabela LICITAÇÕES se relaciona com LICITACOES_LOTES pelo ID_LICITACAO.

A tabela LICITACOES_LOTES se relaciona com LICITACOES_LICITANTES pelo CODIGO_LICITACAO_LOTE.

A tabela LICITACOES_LICITANTES se relaciona com LICITAÇÕES  pelo ID_LICITACAO.


Como forma de identificar cada relação, fiz o seguinte no script:

[LICITACOES]:

LOAD

[IDLICITACAO] AS $IDLICITACAO,                               //chave para relacionar com outras tabelas

[IDLICITACAO] AS [CODIGO LICITACAO],

[IDLICITACAO] AS $LICLICITANTES.IDLICITACAO,   //chave para relacionar com a tabela LICITACOES_LICITANTES

[IDLICITACAO] AS $LICLOTE.IDLICITACAO,              //chave para relacionar com a tabela LICITACOES_LOTE     

[NUMEROEDITAL] AS [LIC.NUMEROEDITAL],

[ANOEDITAL]  AS [LIC.ANOEDITAL];

SELECT [....];

[LICITACOES_LOTES]:

LOAD

[CODIGO_LICITACAO_LOTE],

// [IDLICITACAO],

[CODIGO_LICITACAO_LOTE] AS $LICLICITANTES.CODIGO_LICITACAO_LOTE,    //chave para relacionar com a tabela LICITACOES_LICITANTES

[IDLICITACAO] AS $LICLOTE.IDLICITACAO,  //chave para relacionar com a tabela LICITACOES    

[SEQUENCIAL] AS [LICLOTE.SEQUENCIAL],

[DESCRICAO] AS [LICLOTE.DESCRICAO],

[CODIGO_LICITACAO_LOTE] AS $LICLOTESITU.CODIGO_LICITACAO_LOTE,      //chave para relacionar com a tabela LICITACOES_LOTES_SITUACAO

SELECT [....];

[LICITACOES_LICITANTES]:

LOAD

[CODIGO_LICITACOES_LICITANTES],

// [CODIGO_LICITACAO_LOTE],        

// [IDLICITACAO],

[CODIGO_LICITACAO_LOTE] AS $LICLICITANTES.CODIGO_LICITACAO_LOTE,       //chave para relacionar com a tabela LICITACOES_LOTES

[IDLICITACAO] AS $LICLICITANTES.IDLICITACAO,  //chave para relacionar com a tabela LICITACOES

[VENCEDOR] AS [LICLICITANTES.VENCEDOR],

[CLASSIFICACAO_LABEL]   AS [LICLICITANTES.CLASSIFICACAO],    

    [VALOR_PROPOSTA] AS [LICLICITANTES.VALOR_PROPOSTA],

[PRAZO_EXECUCAO] AS [LICLICITANTES.PRAZO_EXECUCAO],

[IDPESSOA];

SELECT [...];

Por favor, me ajudem, pois percebi a ocorrência de pelo menos uma três referências circulares em todo o modelo a ser carregado, muito semelhante a esse que descrevi.

Agradeço a quem puder me ajudar!!!

Labels (2)
11 Replies
Anonymous
Not applicable

Procure usar o Star Schema na modelagem e identificar os campos chaves as PKs

e se necessário crie chames concatenadas com autohashnumber.... para facilitar

as ligações com as dimensões externas da fato.

pablolabbe
Luminary Alumni
Luminary Alumni

Concatene as tabelas licitações e licitações lote que seu problema será resolvido, jáq que ambas tem campos em comum.