Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
leonardo_sudo
Contributor III
Contributor III

Modelo Tabela Principal x Tabela de Movimentos

Bom dia pessoal,

Estou modelando um processo, e me deparei com a seguinte situação:

Tenho uma tabela principal e uma segunda tabela de histórico da tabela principal.  Bom, na verdade

são as movimentações realizadas. Ex: Pagamentos realizados, estornos, descontos...etc. Como ficaria

o modelo de dados nesse caso?  (Se utilizo o Inner,  terei problemas em obter o Valor total da tabela

principal, pois os valores multiplicariam por 'n', ocorrencias  da tabela de movimentos).

 

Grato

15 Replies
leonardo_sudo
Contributor III
Contributor III
Author

Oi @Wlad_Masi,
Não consigo enviar o modelo. Mas basicamente:

Tabela Principal:
ID
Nro_Documento
Parcela_Documento
Serie_Documento
Cod_Estabelecimento
Valor_Docoumento
Datas....
Etc...

Tabela Movimento:
ID_Documento
ID_Movimento
Valor_Movimento
Tipo_Movimento (Se é implantação, estorno, liquidação, desconto...etc)

Basicamente é isso.

Independete do numero de colunas em ambas colunas, posso fazer join? Mesmo a tabela 2, sendo movimentos da primeira.
leonardo_sudo
Contributor III
Contributor III
Author

Oi Wlad, bom dia.

Não consigo passar a estrutura. Além de gigante, tem outros fatores. Mas vamos lá:

Primeira tabela, que seria referente ao Titulo no Financeiro. Nessa tabela tenho campos como numero do documento, data de transação, valor do documento, data do pagamento total, usuario..etc...
Na segunda tabela, tenho o Histórico da Vida desse titulo. Ou seja, todos pagamento parciais. Alterações de qualquer tipo (Ex: Se eu alterar a data de vencimento, será registrado nessa tabela quando e por quem foi alterado). Posso tambem estornar qualquer movimento, inclusive essa da alteração da data. - Em todos os casos, o ERP marca o registro atual como estornado e cria um novo registro de estorno. ( Pra visualizar o modelo de negócio http://tdn.totvs.com/display/public/LDT/DAPB0087+-+Desfazer+um+estorno)
Wlad_Masi
Employee
Employee

Bom dia Leonardo,

 

Eu tentei montar um exemplo do seu dado, sem muito conhecimento sobre ele.
Eu assumi que os campos Nro_Documento and ID_Documento são o mesmo dado com nomes diferentes.

Eu criei as seguinte tabelas:
 

First_Table:
load * inline [
ID,Nro_Documento,Parcela_Documento,Serie_Documento,Cod_Estabelecimento,Valor_Docoumento,Data1,Data2
1,dp0808,01,,401,100,01/01/2019,02/01/2019
2,dp0808,02,,401,20,01/01/2019,02/01/2019
3,dp0809,01,,221,500,03/02/2019,05/05/2019
4,dp0807,01,,101,230,03/02/2019,05/05/2019
];

Tabela_Movimento:
load * Inline [
Nro_Documento,ID_Movimento,Valor_Movimento,Tipo_Movimento
dp0808,ID1,10,Desconto
dp0808,ID2,90,Liquidação
dp0809,ID3,500,Liquidação
]

Tendo o modelo de dados assim:
DataModel.png

Sendo assim eu consigo criar tabelas com os documentos, tipos de atividades e valores:
table.png

 

Ou seja mantendo as tabelas separadas porém lincadas não deveria ser um problema para você.

To help users find verified answers, please don't forget to mark a correct resolution or answer to your problem or question as correct.
leonardo_sudo
Contributor III
Contributor III
Author

Entendi,
Minha dúvida não é como fazer! Mas nesses casos, qual a melhor pratica!
Manter duas tabelas, ou gerar a fato.
Wlad_Masi
Employee
Employee

Eu manteria o modelo com duas tabelas, pois elas tem propósitos diferentes.
To help users find verified answers, please don't forget to mark a correct resolution or answer to your problem or question as correct.
leonardo_sudo
Contributor III
Contributor III
Author

Acho que vou trilhar nesse caminho e medir o desempenho. Obrigado!