[firebase-br] Tipo para CPF/CNPJ

Gabriel Bonzanini gabriel.bonzanini em gmail.com
Sex Ago 16 23:31:51 -03 2019


Olá Marcelo.

Sigo a mesma linha de raciocínio do Wanderlei, utilizando campos numéricos
apenas quando houver algum cálculo envolvido, um sequencial ou chave
estrangeira; enfim, se o tipo de dado realmente for um número.

Neste caso, ao meu ver o CNPJ/CPF deve ser armazenado como VARCHAR para
evitar problemas com zeros não significativos e para facilitar a busca por
um conteúdo parcial. Eu criaria um VARCHAR(14), armazenando apenas os
algarismos.

Abraço.

Em sex, 16 de ago de 2019 23:22, Marcelo - MK Softwares <
marcelo em mksoftwares.com.br> escreveu:

> Mas e agora? Vou de varchar ou bigint?
>
> Firebird 2.5, dialect 3, linguagem C#, conexão usando:
> FirebirdSql.Data.FirebirdClient
>
> A aplicação será um cloud de armazenamento de XML de NF-e dos meus
> clientes, onde ainda terei que armazenar o XML em campos BLOB. Esse
> banco de dados ficará em eu servidor e será acessado via web service,
> para garantir uma melhor a segurança.
>
>
>
> Em 16/08/2019 23:07, Carlos H. Cantu escreveu:
> > SS> Se você usar o tipo VARCHAR ou CHAR, irá consumir mais espaço em
> disco,
> > SS> pois cada dígito será armazenado em um caracter separado, ou seja,
> mesmo
> > SS> que vocẽ não armazene um CPF com a máscara, ele ainda consumirá 11
> > SS> caracteres em um VARCHAR ou CHAR.
> >
> > Na verdade char e varchar são armazenados usando uma compactação
> > simples tipo RLE, portanto, não necessariamente ocupará o espaço
> > declarado. Lembrando que varchar "gasta" 2 bytes a mais pra armazenar
> > o tamanho da informação gravada.
> >
> > []s
> > Carlos H. Cantu
> > eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
> > www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
> >
> > SS> Bom dia/tarde/noite Marcelo.
> >
> > SS> Eu lhe recomendo utilizar o tipo BIGINT, e independente disso, sempre
> > SS> procure criar suas bases de dados no dialeto 3.
> >
> > SS> Se você estiver usando a jurássica BDE (Borland Database Engine),
> então
> > SS> estará condenado ao dialeto 1 mesmo.
> >
> > SS> Se você usar o tipo VARCHAR ou CHAR, irá consumir mais espaço em
> disco,
> > SS> pois cada dígito será armazenado em um caracter separado, ou seja,
> mesmo
> > SS> que vocẽ não armazene um CPF com a máscara, ele ainda consumirá 11
> > SS> caracteres em um VARCHAR ou CHAR.
> >
> > SS> Mas um BIGINT nada mais é que um inteiro de 64 bits com sinal, ou
> seja, ele
> > SS> consegue armazenar valores de -9.223.372.036.854.775.808 até
> > SS> 9.223.372.036.854.775.807 em exatos 8 bytes de tamanho, ou seja, 18
> a 19
> > SS> dígitos caberão em 8 bytes, o que irá reduzir o consumo de espaço em
> disco,
> > SS> e como consumirá menos espaço, também será mais rápido recuperá-lo.
> >
> > SS> Espero ter mais ajudado que atrapalhado.
> >
> > SS> Em sex, 16 de ago de 2019 às 19:00, Marcelo - MK Softwares <
> > SS> marcelo em mksoftwares.com.br> escreveu:
> >
> >>> Pessoal
> >>>
> >>> Qual o melhor formato para o campo para armazenar CPF/CNPJ: varchar,
> >>> decimal ou double?
> >>>
> >>> Esse campo será uma chave primaria em uma tabela de pessoas.
> >>>
> >>> Obs.: Firebird 2.5
> >>>
> >>>
> >>> ______________________________________________
> >>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >>> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >>> http://www.firebase.com.br/fb/artigo.php?id=1107
> >>> Para consultar mensagens antigas:
> >>> http://www.firebase.com.br/pesquisa_lista.html
> >>>
> > SS> ______________________________________________
> > SS> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > SS> Para saber como gerenciar/excluir seu cadastro na lista, use:
> > SS> http://www.firebase.com.br/fb/artigo.php?id=1107
> > SS> Para consultar mensagens antigas:
> > SS> http://www.firebase.com.br/pesquisa_lista.html
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista