Os tipos de dados do servidor SQL Tutorial

em SQL as colunas de uma tabela são definidas para armazenar um tipo específico de valor, tais como números, datas ou texto; estes são chamados de tipos de dados. Com mais de trinta tipos de tipos de dados de servidores SQL para escolher, tipos de dados podem parecer intimidantes, mas na realidade, há apenas alguns comumente usados em bancos de dados.uma vez que você entenda os tipos de dados em geral, não é um assunto complicado. Você também vai entender por que há uma necessidade de tipos de dados e a razão de haver tantas variedades.,neste artigo vamos rever os tipos de dados mais comuns e as melhores práticas para o seu uso.

Todos os exemplos para esta lição são baseados no Microsoft SQL Server Management Studio e na Base de dados AdventureWorks2012. Comece a usar estas ferramentas gratuitas com o meu guia a começar a usar o servidor SQL.

o que são os tipos de dados do servidor SQL?

Antes de entrar nos tipos de dados usados no servidor SQL, eu acho que é importante para todos entender o que é um tipo de dados, e por que eles são necessários para uso em computadores.por exemplo, vamos falar sobre uma pessoa., Se você estava pensando sobre a informação que você poderia usar para descrever uma pessoa que você pode pensar para coletar seu nome, data de nascimento, peso e número de crianças. Em relação a cada um destes atributos, os dados incluem-se geralmente em várias categorias.

nomes são armazenados como texto, datas de nascimento como datas de calendário, e peso como valores decimais, e um número de crianças como números inteiros. Cada uma destas categorias de valores é um tipo de dados.

como os tipos de SQL ajudam

tipos de dados definem as características dos dados que podem ser armazenados em um local como uma coluna de banco de dados., Um tipo de dados define o possível Conjunto de valores que são aceitos. Por exemplo, um tipo de INT que significa inteiro no servidor SQL só pode aceitar números inteiros, valores decimais não são permitidos.

Aqui está uma lista de algumas pessoas e suas idades

> Idade – Apenas Valores de Texto

você Pode ver a questão com estas idades? Estão todos num formato inconsistente. Não só são difíceis de ler, como a triagem e o cálculo dos dados são difíceis., Usando os tipos de dados do servidor SQL, que impõem o tipo esperado de dados a serem armazenados, podemos alcançar um resultado muito melhor. Aqui é a mesma tabela com as idades mostrados como números inteiros

> Idades conformes com o tipo de dados INT

Quando a idade é definido como um número inteiro a expectativa é a de que os dados são inseridos como números inteiros.

também, sem entrar em detalhes técnicos, você pode ver o armazenamento da idade como um inteiro ocupa muito menos espaço do que a idade na primeira tabela., Isto pode não parecer uma enorme consideração com pequenas bases de dados, mas ao trabalhar com dados em smartphones ou cenários de “grandes dados”, essas considerações somam-se.

Uma vez que o sistema entende o tipo de dados, ele pode então ordenar os dados em uma ordem que faz sentido, bem como realizar cálculos.

razões para usar os tipos de dados do servidor SQL

Aqui estão algumas razões pelas quais os tipos de dados são importantes:

  1. Os dados são armazenados em um formato consistente e conhecido.conhecer o tipo de dados permite-lhe saber quais os cálculos e formulações que pode utilizar na coluna.,os tipos de dados afectam o armazenamento. Alguns valores ocupam mais espaço quando armazenados em um tipo de dados versus outro. Veja as nossas tabelas de idade acima, por exemplo.os tipos de dados afectam o desempenho. Quanto menos tempo a base de dados tiver para inferir valores ou convertê-los, melhor. “É 32 de dezembro de 2015 uma data?”

os tipos de dados do servidor SQL mais usados

em SQL você define que tipo de dados armazenar dentro das colunas. Alguns exemplos incluem texto ou dados numéricos.,

Este é o tipo de dados da coluna, e uma de suas propriedades mais importantes, pois só ele determina se um valor é válido para armazenamento em uma coluna.

Existem mais de trinta tipos de dados diferentes que você pode escolher ao definir colunas, alguns têm usos específicos, tais como armazenar imagens.

neste artigo vamos cobrir os sete tipos de dados que você vai encontrar mais frequentemente em seu uso diário de SQL., Estas são:

  • INT
  • VARCHAR, NVARCHAR
  • DATETIME
  • DECIMAL, FLOAT
  • BIT

INT – Inteiro Tipo de Dados

O tipo de dados integer armazena números inteiros. Exemplos incluem -23, 0, 5 e 10045. Os números inteiros não incluem casas decimais. Uma vez que o servidor SQL usa um número de palavras de computador para representar um inteiro, há valores máximos e mínimos que ele pode representar. Um tipo de dados INT pode armazenar um valor de -2,147,483,648 a 2,147,483,647.,

os usos práticos do tipo de dados INT incluem usá-lo para contar valores, armazenar a idade de uma pessoa, ou usar como uma chave de ID para uma tabela.

mas INT não seria tão bom para manter o controle de um espaço de endereçamento de terabyte disco rígido, como o tipo de dados INT só vai para 2 bilhões e nós precisaríamos de rastrear os trilhões. Para isto, podias usar o BIGINT.

O tipo de dados INT é utilizado nos cálculos., Desde DaysToManufacture é definido como INT, podemos facilmente calcular as horas multiplicando-a por 24:

SELECT Nome, DaysToManufacture, DaysToManufacture * 24 como HoursToManufactureFROM de Produção.Produto
/* Answer */SELECT Name, DaysToManufacture, DaysToManufacture * 24 as HoursToManufactureFROM Production.Product

Aqui você verá os resultados

Resultados da INT cálculos

Há muitas operações e funções que você pode usar com números inteiros que abordaremos mais uma vez de escavar funções.,

VARCHAR e NVARCHAR – Text Values

Use VARCHAR e NVARCHAR para armazenar valores de texto de comprimento variável. “VARCHAR” significa caracter de comprimento variável.

especificar o número de caracteres a guardar num VARCHAR ou num NVARCHAR, como a coluna está definida. Observe como o Nome está definida para manter cinquenta caracteres:

VARCHAR definição mostrada no SSMS Object Explorer

o Que faz VARCHAR popular é que os valores, menos de cinqüenta personagens ocupam menos espaço. O espaço é atribuído conforme necessário., Isto difere do tipo de dados CHAR que sempre aloca o comprimento especificado, independentemente do comprimento dos dados reais armazenados.

O tipo de dados VARCHAR pode tipicamente armazenar um máximo de 8.000 caracteres. Use o tipo de dados NVARCAR para armazenar o texto Unicode. Uma vez que os caracteres UNICODE ocupam o dobro do espaço, as colunas NVARCAR podem armazenar um máximo de 4.000 caracteres.

A vantagem que NVARCHAR tem sobre VARCHAR é que ele pode armazenar caracteres Unicode. Isso faz com que seja útil armazenar conjuntos de caracteres estendidos como os usados para linguagens como Kanji.,

bases de dados projetadas antes do SQL 2008 normalmente usam VARCHAR; no entanto, bases de dados mais modernas ou de natureza global tendem a usar NVARCHAR.

DATETIME-Date and Time

Use the DATETIME data type to store the date and time. Um exemplo de um valor DATATIME é

1968-10-23 1:45:37.123

Este é o valor para 23 de outubro de 1968 às 1:45 AM. Na verdade, o tempo é mais preciso do que isso. O tempo é realmente 45 minutos, 37,12 segundos.

em muitos casos, você só precisa armazenar a data. Nestes casos,o componente de tempo é eliminado., Thus, November 5th, 1972 is

1972-11-05 00:00:00.000

a DATETIME can store dates from January 1, 1753, through December 31, 9999. Isso faz com que o DATETIME seja bom para gravar datas no mundo de hoje, mas não tanto no de William Shakespeare.

à medida que você se familiariza com as várias funções SQL incorporadas, você será capaz de manipular os dados. Para dar uma olhada, vamos usar a função ano para contar os funcionários contratados a cada ano. Quando dado um valor DATETIME, a função ano retorna o ano.,

a consulta que vamos usar é

o benefício é o tipo de DATETIME garante que os valores são datas válidas. Uma vez que isto esteja assegurado, somos capazes de usar uma série de funções para calcular o número de dias entre datas, o mês de uma data e assim por diante.

vamos explorar essas várias funções em detalhe em outro artigo do blog.

Decimal and FLOAT – Decimal Points

Use both DECIMAL and FLOAT datatypes to work with decimal values such as 10.3.,

eu aglomeradas DECIMAL e FLUTUAR na mesma categoria, uma vez que ambos podem manipular valores com casas decimais; no entanto, ambos fazê-lo de forma diferente:

Se você precisa de valores precisos, tais como quando se trabalha com financeiras e contábeis de dados e, em seguida, usar DECIMAL. A razão é que o datatype DECIMAL permite-lhe definir o número de pontos decimais a manter.

DECIMAL

DECIMAL data types are defined by precision and scale. A precisão determina o número de dígitos totais a armazenar; enquanto que a escala determina o número de dígitos à direita da casa decimal.,

um datatype DECIMAL é especificado como DECIMAL (precisão,escala).

um tipo DECIMAL de dados não pode ser superior a 38 dígitos. A precisão e escala devem aderir à seguinte relação

0 <= scale <= precision <= 38 digits

na produção.Tabela de produtos, o tipo de dados da coluna de peso é definido como DECIMAL (8,2). O primeiro dígito é a precisão, o segundo a escala.

peso é definido para ter oito dígitos totais, dois deles à direita da casa decimal. Nós vamos a seguinte consulta de exemplo para ilustrar como este tipo de dados.,

selecione Peso distinto da produção.Produto em que o peso entre as 29.00 e as 189.00 ordem em peso DESC
/* Answer */SELECT DISTINCT WeightFROM Production.ProductWHERE Weight BETWEEN 29.00 and 189.00ORDER BY Weight DESC

FLOAT

em que os tipos de dados decimais são grandes para números exactos, os flutuadores são realmente bons para valores numéricos longos. Embora um valor DECIMAL possa ter um total de 38 dígitos, em muitas aplicações científicas e de engenharia isso é inadequado. O flutuador sobe para o topo dentro de aplicações científicas onde são encontrados valores numéricos extremos!os flutuadores têm um intervalo de – 1.,79E+308 a 1, 79 e + 308. Isso significa que o maior valor pode ser 179 seguido por 306 zeros (grande de fato!).

devido à forma como os dados flutuantes são armazenados no computador (ver especificação do ponto flutuante IEEE 754), o número armazenado é uma aproximação extremamente próxima. Para muitas aplicações, isso é bom o suficiente.

devido ao comportamento aproximado, evite o uso de < e = operadores na cláusula WHERE. Esta declaração queimou may DBAs!

WHERE mass = 2.5

sua expectativa é desfeita quando a massa é supostamente igual a 2.,5, mas realmente, no computador, ele é armazenado como 2.499999999999999; portanto, não é igual a 2.500000000000000!esta é a natureza das vírgula flutuante e dos computadores. Você e eu vemos 2.4999999999999 e pensamos que para fins práticos é 2.5, mas para o computador, estavam um pouco desligados. J

valores Bit-booleanos ou sim / não

há momentos em que você só precisa armazenar se algo “é” ou “não é.”Por exemplo, se um empregado está ativo. É nestes casos que o datatype de bits vem para o seu próprio. Este tipo de dados é um dos três estados: 1, 0, ou nulo.,

o valor de 1 significa verdadeiro e 0 falso.

nesta consulta, estamos listando todos os títulos de trabalho de posição assalariada

selecione Trabalho distinto a partir de Recursos Humanos.EmployeeWHERE SalariedFlag = 1
SELECT DISTINCT JobTitleFROM HumanResources.EmployeeWHERE SalariedFlag = 1

Nós também poderia ter usado ‘True’ em vez de 1. Aqui está o mesmo exemplo usando ‘True’

Leave a Comment