Eliminar linhas duplicadas postgresql

SQL

PostgreSQL

C#

Banco de Dados

15/03/2017

Meu código insere dados automaticamente em um banco, fazendo com que o BD fique muito grande e, as vezes, com informações repetidas.
Para isso, desejo usar o método Slowly Changing Dimension (SCD) de forma que:

- Um registro com determinado id será adicionado no banco, e a data de inserção sera guardada no campo data_inicial
- Enquanto esse registro for igual, o programa apenas atualizará a data_final
- Quando mudar algo nesse registro, a data_final do registro será atualizada pra data em que a mudança aconteceu e será criado outro registro com as informações que mudaram e com a data_inicial atualizada. Da forma representada abaixo:

id | cidade | data_inicial | data_final
123 | São Paulo | 01/10/2016 | 03/12/2016
123 | Rio de Janeiro | 04/12/2016 | 20/01/2017
123 | Fortaleza | 21/01/2017 | 01/01/2999

obs.: a tabela terá dados de vários id's, e mais de um dado com o mesmo id.
obs2.: utilizo um código em C# para fazer a inserção no banco de dados
Joao Marins

Joao Marins

Curtidas 0
POSTAR