1
resposta

Chave primario

Caso ja exista no banco muitas referencia duplicadas na coluna que sera chave primaria , quando alteramos o que acontece?testei e deu erro ?tem como contornar isso? para não ter que localizar todas as duplicadas e corrigir antes.

1 resposta

Neste cenário mencionado, temos um exemplo algo que não foi previsto durante a modelagem. O que pode ser realizado para contornar a situação:

Sugestão de solução 1: Criar uma nova coluna na tabela do tipo sequencial (identity), dessa maneira haverá um identificar único para cada linha. Em seguida, atualize o valor desta coluna subistiuindo pelo valor equivalente da coluna com duplicidade. Lembrando que só será possível realizar esse procedimento caso não haja constraints FK da coluna com valores duplicados.

Sugestão de solução 2: Crie uma constraint UNIQUE com a coluna que contem dados duplicados e uma outra coluna com identitificadores únicos para cada linha. Dessa forma você terá uma PK para cada registro da tabela.

Sugestão de solução 3: Atualize o valor dos campos na coluna duplicada somando com número da linha, por exemplo: Na linha 1 o valor receberá +1, na linha 2 o valor receberá +2 e assimpor diante. Dessa maneira você não terá mais valores duplicados pois cada valor foi ascrescido de um número diferente.