domingo, 15 de março de 2015

Banco de Dados Básico - Parte 03 - Tipos de dados


Um dos tópicos importantes para quem trabalha com Banco de Dados é o tipo de dados. Deve-se compreender bem os tipos de dados existentes.
Nesse post abordaremos os tipos de dados para o SQL Server. Caso utilize outro banco, os tipos podem ser diferentes, mas o conceito geral se aplica a todos.

Por exemplo, no Oracle existe um tipo de dados chamado “Varchar2”, que não existe no SQL Server. Mas esse tipo pertence a categoria de “Cadeias de caracteres” (popularmente chamada de String’s) e essa categoria existe nos dois. 
O objetivo desse post é que entenda o que é um Tipo "Numérico" e uma “Cadeias de caracteres”.


1-      Tipos Numéricos


Como o próprio nome diz, é o tipo de dados que utiliza números. Por exemplo, em um banco de dados de Vendas, você pode querer saber a quantidade de produtos vendidos. Posso vender 1, 10, 100, 1000 ou N produtos. Então ficou fácil. Para números posso utilizar os inteiros de 0 a n e tudo resolvido.
Mas espere um pouco, e se quiser obter os valores de cada produto? Um valor pode conter os centavos. Por exemplo, o produto A pode custar R$ 30,99.
Nesse caso posso usar decimais com 2 casas a direita. De 0,00 a N,99.
Mas e se eu tiver um prejuízo nas vendas? Para representar isso preciso de um numero negativo, por exemplo, prejuízo de – R$ 500,00.
Os exemplos acima são para mostrar que em determinadas situações precisará de números diferentes. Aí que entra as classificações dos tipos numéricos (Int, BigInt,Decimal, Money e etc).
O importante agora é identificar o que é um numérico. Geralmente utilizará um numérico quando precisar de algum cálculo. Lembre-se da sua matéria preferida: a Matemática.
Em um campo numérico precisará Somar, Multiplicar, Subtrair, Dividir, obter a Média e etc.
Por exemplo, você tem dois produtos A e B. Você sabe que A tem 30 unidades e B 60 unidades. Quer saber o total.




Figura 01.


Conforme a consulta acima o total é 90.
“Po essa era fácil! Dava para fazer de cabeça!”
É verdade. Agora imagine que você tenha mil produtos diferentes e queira saber o total de unidades???
Aí começa a complicar.  Para ter uma noção das quantidades de itens, imagine o Banco de Dados de uma grande rede de Supermercados e como é feito o controle de estoque. Deve ter muito item.
Muitas vezes utilizam o tipo numérico para códigos. Por exemplo, em vez de produto A teríamos produto 101.

Os tipos numéricos no SQL Server são:

  • Bigint
  • Bit
  • Decimal
  • Int
  • Money
  • Numeric
  • Smallint
  • Smallmoney
  • Tinyint
  • Float




2-      Tipo String ou Cadeia de Caracteres


E se voce necessitar guardar além dos valores dos produtos, o nome do mesmo? Por exemplo, o produto "Chá gelado", custa R$10,00. Ou imagine um cadastro de empregados, voce deverá guardar o nome desse funcionário, por exemplo, "Rodrigo".
Esse tipo de dados é denominado String, texto ou Cadeia de Caracteres. Para reconhecer um tipo texto no SQL Server deve-se utilizar o apóstrofo, tambem conhecido no meio como "aspas simples" [']. Seu texto deve estar entre aspas simples, conforme exemplo: 'Exemplo'.
Se não utilizar as aspas simples o SQL Server interpretará seu texto como um comando e provavelmente dará erro.



Figura 02.



Utilizando a aspas simples o SQL Server reconhece como texto:



Figura 03.


Bem, então tipos de texto são as letras (O alfabeto) de A a Z?
Vai um pouco mais além, por exemplo, podemos ter espaço entre nome e sobrenome, conter caracteres especiais como o @ nos e-mail's, acentuação de palavras e frases, traços e etc.




Figura 04.



E se tiver a necessidade de guardar números com letras, como por exemplo as placas de carro?
Ou acumular números que não são calculados, como por exemplo telefones e R.G?
Deve-se usar os tipos de texto para esses casos, utilizando os números dentro da String.




Figura 05.



Muitos códigos misturam letras e números em alguns sistemas.

Os tipos de texto no SQL Server são:

  • char
  • varchar
  • text
  • nchar
  • nvarchar
  • ntext



Há outros tipos, como por exemplo, datas, binários e até XML.
É importante conhecer os tipos de dados de um banco, pois eles são de extrema importância, desde a modelagem até a aplicação do Banco em produção. Por exemplo, bancos com tipos de dados mal modelados podem apresentar problemas de desempenho, como lentidão das consultas. Podem apresentar também dados incompletos ou truncados, gerando re-trabalho na parte de modelagem lógica e física do banco.
Para quem quer saber mais sobre o tema, tem o link ao final do post, específico para SQL Server.

Obrigado.


Referência:




Nenhum comentário:

Postar um comentário