Em 14-10-2011 15:53, Marcal Hokama escreveu:
>> Uma tabela de cep's é apenas uma tabela cheia de dados em que o
>> atributo cep é único e não se repete. Nada mais, um cep não pode ser
>> usado como suficiente chave natural para identificar nada.
>>
> O CEP como atributo de um endereço, tem um domínio, ou conjunto pré-definido 
> de valores que é a relação de CEPs gerenciada pelos Correios, que tem uma 
> estrutura definida em [1]. Se fosse modelar com base nessas informações, uma 
> relação de CEPs poderia ser tanto um domínio como uma entidade (dúvida sobre 
> ser realmente uma entidade - mas na prática iria virar uma tabela mesmo).

        Se os cep's não mudassem todo o ano eu até concordaria em dizer 
conjunto pré-definido, mas mudam. O que é um cep hoje, podem ser 2 
amanhã, então nem adianta um "on update cascade".

        Vejamos a situação, o atributo cep do endereço do cliente é uma foreign 
key para uma relação de ceps. No próximo ano os correios decidiram que 
este cep não existe mais, e agora? considerar cep como entidade te 
criaria um grande problema, porque derrepente, seu cliente passa a não 
ter mais cep ou a não ter um cep "válido", ah, você tem uma restrição de 
integridade... então vá lá falar para os correios que eles não podem 
extinguir um cep. O que faremos??

        Caso recente, a cidade em que eu nasci São Mateus-ES, tinha cep único 
29930000, já faz alguns anos que ele foi todo dividido porque a cidade 
cresceu, consulte o cep nos correios.. não existe mais. Mas até hoje, se 
você colocar o cep 29930000 as encomendas chegam na casa dos meus pais 
certinho.

        Abraço,

--
Shander Lyrio
http://about.me/shander
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a