[firebase-br] Tipo para CPF/CNPJ

Marcelo - MK Softwares marcelo em mksoftwares.com.br
Sex Ago 16 23:21:25 -03 2019


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



Mais detalhes sobre a lista de discussão lista