Valeu Andrey, campeão, muito obrigado por disponibilizar. Na informática, para um mesmo objetivo, existem várias soluções.
Entendi Andrey, a base dos correios, serve apenas de "referência", ou seja, ela é "read-only", se encontrar o CEP, vc. apenas popula os campos do form com os dados dos correios ( e imagino que os torna read-only ). Bacana. Eu imaginei que se faria a normalização da tabela de clientes / usuários, onde os campos de endereço seriam apenas o CEP (chave), número e complemento. E as tabelas dos correios fariam parte do banco, inclusive inclusão/alteração/exclusão, não apenas como referência. No seu caso, vc. não normalizou os campos de endereço, ou seja, manteve em clientes todos os campos : tipo_logradouro, nome, numero, complemento, bairro, cep, cidade e UF. Imagino que seria legal a modelagem ficar igual a dos correios. Vc, criou uma FK do campo CEP para LOG_LOGRADOURO.CEP, ou nem isso quis ? Legal o lance do ajax, autocomplete, etc, não sei como faz, mas vou pesquisar. Não ficou pesado o ajax numa tabela com mais de 800k registros ? Sobre a curiosidade : Eu vi no site da Prefeitura de SP, de NF-e, o uso do endereço. Se não preenchido, ele libera os campos para o usuário preencher. Então, matando sua curiosidade, imaginei que caso necessário, poderia incluir registros na base dos correios, daí ... codificar CEP ... Mas, nesse seu jeito, não precisa ( não deve ), a base dos correios é read-only. Num host que hospeda diversas aplicações, talvez fosse legal criar um banco "correios" em separado, e servir a todas aplicações. Obrigado, -- Abs, Jairo Sao Paulo / SP - Brasil On Thu, 2012-04-26 at 11:42 -0300, Andrey Wischneski wrote: > Jairo, > > Segue um .sql para importar direto no banco pgsql: > http://174.120.10.79/correios_pgsql.zip. > > Sobre a forma de utilização, antes do campo de endereço eu já solicito > o cep, ao terminar de preencher eu valido se tem 8 números e faço uma > busca na base LOG_LOGRADOURO usando ajax e já preencho todas as > informações possíveis. Caso o usuário não saiba o CEP tem um botão > para busca ao lado desse campo, onde abro uma dialog com estado (ajax > que popula o campo cidade), cidade e nome da rua (autocomplete). > > Existem casos onde a rua possui mais de um CEP, nesse caso a base > possui um campo de complemento mais ou menos como "- de 1145 a 1485 - > lado ímpar" que eu mostro no autocomplete, já que essa informação > também existe no campo LOG_NOME, na hora de gravar eu uso o campo > LOG_NO, que não possui nem a informação "Rua, praça, avenida, etc." e > nem o complemento. > > No caso de uma nova inclusão, acredito que você não deve fazer na base > dos correios, acho que a melhor forma é permitir o preenchimento > manual das informações no cadastro de usuários ou clientes, o que vai > relacionar é o campo CEP de uma tabela com o campo CEP da outra, mas a > base dos correios eu uso somente como referência e não como cadastro. > > Só por curiosidade, por que você iria querer codificar o campo CEP > novamente? > > Abraços, > > Andrey _______________________________________________ [email protected] http://www.codeigniter.com.br http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br --------------------------- Oportunidade de negócio http://www.franquiasargohost.net ---------------------------

