________________________________
De: Rodrigo Hjort <rodrigo.hj...@gmail.com>
Para: Comunidade PostgreSQL Brasileira <pgbr-geral@listas.postgresql.org.br>
Enviadas: Terça-feira, 9 de Novembro de 2010 23:00:00
Assunto: Re: [pgbr-geral] campo cpf


1. também usaria char(11) para o CPF: precisaria de uma forte motivação para 
usar bigint e com isso trocar 11 por 8 bytes no armazenamento...
 
2. formatação de valores é algo que o SGBD não deveria se preocupar, e se assim 
o fosse seria interessante criar uma função em SQL (ex: formatar_cpf()) como um 
wrapper usando o to_char() proposto pelo Osvaldo.


3. gostaria de lembrar que o paquiderme é o SGBD de código aberto mais avançado 
do mundo, e uma de suas grandes vantagens é a extensibilidade! Isto é, podemos 
criar um novo tipo de dados, o próprio *cpf*, implementá-lo em linguagem C e 
obter todas as suas vantagens, incluindo validação e formatação intrínsecas. 
Vide projeto isn do contrib.

4. o mesmo acima se aplica a um campo para armazenar CNPJ.

5. para RG a coisa fica mais complicada, pois o campo pode ser normalizado, 
além 
do que o seu número pode conter letras...!

-- 
Rodrigo Hjort
http://agajorte.blogspot.com



2010/11/8 Eduardo Az - EMBRASIS Informática e O&M <eduard...@embrasis.com.br>

?Eu neste caso, acho melhor char(11) só cpf e char(14) cnpj ou cnpj junto
>com cpf.
>Minhas justificativas:
>char porque: este campo não vai ser usado para calculos (tipo salarios,
>vendas,etc) e o uso de qualuqer tipo de campo valor ao meu ver é mais
>dispendioso para o banco de dados.
>char em vez de varchar  porque: melhora no desempenho, indexar com char gera
>uma resposta mais rápida que em varchar (verifiquei pessoalmente e também
>via literatura sobre isto).
>
>Só não concordo com vc sobre o uso de varchar, pelo motivo citado acima.
>
>Eduardo Az
>Dep.TI
>EMBRASIS
>+55(11)2122-0241 PABX
>+55(11)8125-3845 TIM
>+55(11)9826-0138 VIVO
>eduard...@embrasis.com.br
>


Ola a todos,

Eu usava campos varchar em campo CPF, mas depois da explicação do  Osvaldo e do 
Fabio mudarei minhas futuras implementações. Muito mais  simples usar 
to_char(), 
além de fazer todo sentido semântico do assunto.

Só tenho uma dúvida:

Fabio, 

Você comentou que usa 4 campos para o RG, no caso de RG de estrangeiros  que 
têm 
letras antes do número, qual coluna faria ter sentido essa  informação? cria-se 
um quinto campo?


Abraço

Rodrigo Nunes


      
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to