Leandro DUTRA escreveu:
2008/6/24 Alexsandro Haag <[EMAIL PROTECTED]>:
    Que seja, mas como faria uma transferência de uma empresa para a mesma?

Tem de haver então dois locais de estoque na mesma empresa.  Simples.
Sim, tens razão, para este caso isso resolveria e da forma mais simples e correta possível.

    Não se trata de "Gambiarra", pois estamos garantindo a integridade
através do ID sequencial.

ID seqüencial não garante integridade nenhuma.  Eu posso simplesmente
colocar o mesmo dado quantas vezes quiser, se não houver chaves
naturais.
Isto pode ser feito de uma forma ou de outra, apenas podemos dificultar. Mas o cliente 9999 será sempre 9999 em todas as suas correlações. Defendo ainda a chave primária como ID sequencial ao invés do CNPJ, mais justificativas abaixo:

Outro detalhe... Será que existe CNPJ/CPF em outros países?

Ótima pergunta.

De fato, não há.

Mas há equivalentes.  E aí a gente cai de novo na normalização e no
uso de visões para integrar os dados.
   Sim, mas com que CNPJ cadastraria um cliente do exterior?

   Com ID sequencial poderia fazê-lo sem precisar mexer no modelo.
Sendo o campo CNPJ chave primária este teria que ser obrigatoriamente preenchido. Veja bem, não estou desconsiderando o uso dos campos CNPJ e CPF como chaves únicas, mas sim, não considero bons como chaves primárias, pelo menos não da tabela Pessoa, onde acho que estes campos nem devem aparecer. Da tabela Pessoa Jurídica ou pessoa Física aí sim.



_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a