SUGESTAO SQL - COMPARAR TABELAS
Pessoal boa tarde
Uma duvida, estou trabalhando em um projeto e preciso comparar 2 tabelas até ai tudo bem, vou demostrar o cenário abaixo.
1 - Tabela 1
Irá conter as informações de D-1
2 - Tabela 2
Irá conter as informações do dia atual.
3 - Tabela 3
Irá conter as diferenças entre a Tabela 1 e Tabela 2.
Duvidas:
1 - Qual é a melhor forma de fazer isso ?
2 - A tabela do dia atual (Tabela 2) no próximo dia passará a ser a tabela do D-1 ou seja eu precisaria depois inserir as diferenças na tabela 3, apagar os dados.
Existe uma forma mais pratica para desenhar esse cenário ?
Uma duvida, estou trabalhando em um projeto e preciso comparar 2 tabelas até ai tudo bem, vou demostrar o cenário abaixo.
1 - Tabela 1
Irá conter as informações de D-1
2 - Tabela 2
Irá conter as informações do dia atual.
3 - Tabela 3
Irá conter as diferenças entre a Tabela 1 e Tabela 2.
Duvidas:
1 - Qual é a melhor forma de fazer isso ?
2 - A tabela do dia atual (Tabela 2) no próximo dia passará a ser a tabela do D-1 ou seja eu precisaria depois inserir as diferenças na tabela 3, apagar os dados.
Existe uma forma mais pratica para desenhar esse cenário ?
Acho que você vai ter que explicar um pouco melhor para podermos ajudar...
O que é D-1?
O que consiste [Ô]informações do dia atual[Ô]?
O que é D-1?
O que consiste [Ô]informações do dia atual[Ô]?
Perdão por me expressar assim ...faltou um espaço..rsrs
D -1 (Dia menos 1)
Informações do dia atual = Dia de hoje
Basicamente que irei fazer.
Vou executar uma varredura no AD e irei adicionar as informações na tabela de D -1, e a tabela do dia atual irá executar um outra varredura com a data do dia.
Dessa forma comparo o que houve de alteração no AD de um dia para o outro.
E posteriormente a tabela com as informaçoes do dia atual, passará a ser o D -1, pois as informações do dia atual serão carregadas novamente.
D -1 (Dia menos 1)
Informações do dia atual = Dia de hoje
Basicamente que irei fazer.
Vou executar uma varredura no AD e irei adicionar as informações na tabela de D -1, e a tabela do dia atual irá executar um outra varredura com a data do dia.
Dessa forma comparo o que houve de alteração no AD de um dia para o outro.
E posteriormente a tabela com as informaçoes do dia atual, passará a ser o D -1, pois as informações do dia atual serão carregadas novamente.
Deixa ver se eu entendi:
Você quer abastecer uma tabela com dados do AD, sei lá que dados, mas não importa. Pelo que entendi, esses dados são uma coisa só e você quer separar por dia, seria isso?
Você quer abastecer uma tabela com dados do AD, sei lá que dados, mas não importa. Pelo que entendi, esses dados são uma coisa só e você quer separar por dia, seria isso?
Mais ou menos....
Assim, basicamente vou ler o AD separando os containers, cada container tem uma OU de usuarios, desktops, servidores etc.
Então o que vou armazenar será assim, hoje o container 1 tem, 10 usuarios, 40 desktops e 8 servidores.
Amanha ele poderá ter o dobro de dados ou dados excluidos, por isso vou comparar as 2 tabelas.
O que eu estou pensando em fazer é assim:
Supondo que ontem executei a query e ela salvou os dados na tabela (dia -1) e hoje o sistema a outra query e salvou os dados do dia (atual), basicamente eu vou comparar as 2 tabelas e salvar os dados em uma terceira.
E a tabela (atual) passará a conter os dados da (dia -1) amanhã.
A minha logica seria comparar as 2 tabelas, salvo o resultado em uma terceiro aonde o sistema irá ler essas informações como (oficial) e apago o dados da tabela (dia 1), mas antes copio ela para atual.
Eu sei como fazer a questão é que talvez a logica não seja a melhor por isso uma sugestão de qual caminho seguir.
Assim, basicamente vou ler o AD separando os containers, cada container tem uma OU de usuarios, desktops, servidores etc.
Então o que vou armazenar será assim, hoje o container 1 tem, 10 usuarios, 40 desktops e 8 servidores.
Amanha ele poderá ter o dobro de dados ou dados excluidos, por isso vou comparar as 2 tabelas.
O que eu estou pensando em fazer é assim:
Supondo que ontem executei a query e ela salvou os dados na tabela (dia -1) e hoje o sistema a outra query e salvou os dados do dia (atual), basicamente eu vou comparar as 2 tabelas e salvar os dados em uma terceira.
E a tabela (atual) passará a conter os dados da (dia -1) amanhã.
A minha logica seria comparar as 2 tabelas, salvo o resultado em uma terceiro aonde o sistema irá ler essas informações como (oficial) e apago o dados da tabela (dia 1), mas antes copio ela para atual.
Eu sei como fazer a questão é que talvez a logica não seja a melhor por isso uma sugestão de qual caminho seguir.
Acho que você está seguindo a lógica de uma maneira não muito eficiente. O que você quer é comparar as units, dia à dia. O que me parece mais lógico é simplesmente gravar o scan da OU com sua data. Assim, você poderia comprara qualquer dia com qualquer dia. Tabelas, não precisam conter dados apenas de um dia.
Pensando aqui...rsrsrs
Mas o volume de informações será grande pois existem algumas informações adicionais que irei colher em background não sei o impacto ainda disso, mas pensando nos dados a grosso modo agora.
A ideia é ter a 3º tabela justamente para isso, ela sim irá possuir as informações oficiais depois de filtradas e comparadas e vou possuir uma tabela de historico também, talvez demostrando abaixo fique mais fácil de compreender.
Já tenho a interfac que irei utilizar ela terá os dados assim:
Usuários:
Ativos:
Inativos:
Ociosos:
Deletados:
Total
Por isso creio que mantendo a logica da forma acima irei minimizar as informações, mas sua sugestão também faz sentido pois se for gerar um relatório de 1 mês por exemplo, basta criar a query utilizando o campo do scan.
A questão que vou precisar analisar somente será o crescimento do banco isso não tenho ideia de como será utilizando essa rotina do scan.
Acho que irei utilizar a sua sugestão : )
No futuro mostro o projeto.
Obrigado.
Mas o volume de informações será grande pois existem algumas informações adicionais que irei colher em background não sei o impacto ainda disso, mas pensando nos dados a grosso modo agora.
A ideia é ter a 3º tabela justamente para isso, ela sim irá possuir as informações oficiais depois de filtradas e comparadas e vou possuir uma tabela de historico também, talvez demostrando abaixo fique mais fácil de compreender.
Já tenho a interfac que irei utilizar ela terá os dados assim:
Usuários:
Ativos:
Inativos:
Ociosos:
Deletados:
Total
Por isso creio que mantendo a logica da forma acima irei minimizar as informações, mas sua sugestão também faz sentido pois se for gerar um relatório de 1 mês por exemplo, basta criar a query utilizando o campo do scan.
A questão que vou precisar analisar somente será o crescimento do banco isso não tenho ideia de como será utilizando essa rotina do scan.
Acho que irei utilizar a sua sugestão : )
No futuro mostro o projeto.
Obrigado.
Tópico encerrado , respostas não são mais permitidas