Dúvida de SQL - Tipo de Dado

1 resposta
A

Oi, ví que tenho um montam de tipos de dados, tais como:

bigint, int, smallint, tinyint mas o mais usado é o varchar basicamente né?

ex: na coluna CPF eu coloco int (8) ou varchar (100)?

abs,
AS

1 Resposta

doglei

Olá,

os tipos de dados são sempre avaliados na hora que está criando o banco de dados, de acordo com a situação em que serão utilizados, opta-se por um ou outro.

exemplos:

Se eu quiser utilizar o dado inserido (CPF, RG, outro) na tela de um browser, sem precisar formatar esse dado, posso optar por um campo VARCHAR(20),
onde poderá ser gravado o dado com pontos e traço, sem problema (000.000.000-xx) e na hora de mostrar, já vem no formato certo.

Já, se meu negócio é uma base grande, que servirá para buscas em geral e não me preocupo com quantas vezes preciso formatar o texto de saída, optamos por um tipo INT(10), no qual vc só vai gravar apenas os números do registro informado, só vai ter que lembrar que um cpf começado por 0 (zero) deverá ser completado depois para exibir em tela.

Outra opção, sendo que vc só vai gravar CPF nesse campo, sem chance de colocar qualquer outro dado(tem gente que escolhe campos “curinga”, grava cpf ou rg ou qualquer outra coisa num mesmo campo, sem padrão) , pode usar o tipo CHAR(11) ou CHAR(14) que seria o ideal a meu ver, pois vc consegue manter todos os dados e não pesa no banco. O tipo varchar é indicado mais pra quando vc não sabe que tamanho terá o seu dado, o inteiro se for algum dado essencialmente numérico. Como o CPF usa os zeros como parte válida, seria muito mais interessante gravar ele completo ([telefone removido] = 11 caracteres ou [CPF removido] = 14 caracteres);

abraço

Criado 11 de abril de 2010
Ultima resposta 11 de abr. de 2010
Respostas 1
Participantes 2