SUGESTAO SQL - COMPARAR TABELAS

ALESANTOS182 12/12/2017 13:41:26
#478382
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 ?
KERPLUNK 12/12/2017 13:58:43
#478385
Resposta escolhida
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[Ô]?
ALESANTOS182 12/12/2017 14:04:09
#478387
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.
KERPLUNK 12/12/2017 14:24:38
#478390
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?
ALESANTOS182 12/12/2017 15:23:47
#478393
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.
KERPLUNK 12/12/2017 16:17:05
#478394
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.
ALESANTOS182 12/12/2017 16:46:51
#478396
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.
Tópico encerrado , respostas não são mais permitidas