Ajuda com UK

1 resposta
Danilo_Carvalho

Bom dia a todos!

Uso postgres com hibernate.

Estou com uma dúvida.

Tenho uma uk composta campo1, campo2, campo3

campo1, campo2, campo3 - não podem se repetir
campo1, campo2 - não podem se repetir

mas

campo2, campo3 - podem se repetir

E campo2 e campo3 podem ser nulos assim quando tenho

campo1 campo2 campo3
1 1 null

quando chega novamente

campo1 campo2 campo3
1 1 nulll

o banco aceita, alguém ja fez algo do tipo, uma uk composta por tres campos onde um pode ser null.

Não sei se expliquei bem o meu problema.

Obrigado, agradeço qualquer ajuda.

1 Resposta

drsmachado

Conhece as formas normais de bancos de dados? Uma delas diz que, assim como uma chave primária deve ser a única forma de encontrar as demais colunas de forma específica, a combinação de colunas deve permitir a localização da chave primária, também de forma específica.
Por exemplo, quando tempos as colunas

--Funcionario
id_funcionario
primeiro_nome
ultimo_nome
matricula

A coluna id_funcionario permite encontrar primeiro_nome, ultimo_nome e matricula. Da mesma forma que a combinação matricula, primeiro_nome e ultimo_nome permitem encontrar a coluna id_funcionario.

Por que estou dizendo isso?
Ora, simples, você não precisa da UK (nunca vi este termo, enfim…) composta.

Criado 21 de fevereiro de 2013
Ultima resposta 21 de fev. de 2013
Respostas 1
Participantes 2