Banco de Dados - Tipos de Dados

885 visualizações

Publicada em

Abordagem dos tipos de dados existentes nos sistemas de gerenciamento de banco de dados (baseado em MySQL) seguindo padrão SQL-92 dividido em três categorias: os tipos numéricos, de data/hora e literais.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
885
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
44
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Banco de Dados - Tipos de Dados

  1. 1. #BancoDeDados Prof. Natanael Simões facebook.com/natanaelsimoes Tipos de Dados Os tipos de dados reconhecidos pela maioria dos SGBD @natanaelsimoes natanael.simoes@ifro.edu.br steamcommunity.com/id/natanaesimoes
  2. 2. Objetivo • Conhecer os principais tipos de dados trabalhados pelos SGBD do mercado
  3. 3. • Tipos de Dados • Tipos numéricos • Tipos de data e hora • Tipos literais Conteúdo programático
  4. 4. • Todo campo/valor é de um tipo específico • SGBD trabalham basicamente com 3 categorias*:  Tipos numéricos  Tipos de data e hora  Tipos literais Tipos de Dados NOME: texto IDADE: inteiro João 12 Carlos 20 Renata 17 *Baseado em MySQL
  5. 5. Vamos usar as seguintes convenções para facilitar: M - indicará a largura que pode ser armazena de determinado tipo (exemplo: INTEGER(M)), armazenará um inteiro de M dígitos) D – indicará o número de dígitos da parte decimal de um valor (exemplo: DECIMAL(M,D), armazenará um decimal de M dígitos na parte inteira e D dígitos na parte decimal) [] – indicará uma parte opcional (exemplo: INTEGER[(M)], armazenará um inteiro de M dígitos, mas (M) é opcional na definição) Convenções
  6. 6. Tipos numéricos Tipo Descrição Padrão BIT[(M)] Armazena bits, onde M é a quantidade de bits 1 TINYINT[(M)] De -128 a 127 3 BOOL, BOOLEAN Sinônimo de TINYINT(1), onde zero é falso e não-zero é verdadeiro SMALLINT[(M)] De -32768 a 32767 5 MEDIUMINT[(M)] De -8388608 a 8288607 7 INT[(M)] De -2147483648 a 2147483647 10 INTEGER[(M)] Sinônimo de INT 10
  7. 7. Tipos numéricos Tipo Descrição Padrão BIGINT[(M)] De -92233720368544775808 a 92233720368544775807 20 FLOAT[(M,D)] Até 7 casas decimais Limite DOUBLE[(M,D)] Até 15 casas decimais Limite DECIMAL[(M[,D])] Até 30 casas decimais 10,0 DEC[(M[,D])] Sinônimo de DECIMAL 10,0
  8. 8. Tipos numéricos: outras propriedades Propriedade Descrição UNSIGNED (Sem sinal) apenas números positivos SIGNED (Com sinal) tanto negativos quanto positivos ZEROFILL Preenche com 0, UNSIGNED obrigatório Se UNSIGNED, então intervalo vai de 0 até valor absoluto da diferença entre o intervalo quando SIGNED
  9. 9. Exemplo de definições numéricas • Idade TINYINT UNSIGNED  Idade é do tipo TINYINT, apresenta apenas número positivos de 0 a 255 [valor abs(-128-127) = 255] • Salario DECIMAL(5,2) ZEROFILL  Salario é do tipo DECIMAL, apresenta até 5 dígitos na parte inteira e 2 na parte decimal, completa o restante com zeros (exemplo, 00700.54) • Demitido BOOLEAN  Demitido é do tipo BOOLEAN, apresenta 0 (false) enquanto estiver trabalho e não-zero (true) quando for demitido
  10. 10. Tipos de data e hora Tipo Descrição DATE Guarda data no formato YYYY-MM-DD, de 1001-01-01 até 9999-12-31 DATETIME Combinação de data e hora no mesmo campo, no formato YYYY-MM-DD HH:MM:SS, de 1001-01-01 00:00:00 até 9999-12- 31 23:59:59 TIMESTAMP Guarda número de segundos desde o EPOCH, 1970-01-01 até 2038-01-09 TIME Armazena tempo no formato HH:MM:SS, de -838:59:59 até 838:59:59 YEAR[(2|4)] O ano em 2 ou 4 (padrão) dígitos, de 1901 a 2155 para 4 dígitos, ou de 70 a 69 (1970 a 2069) para 2 dígitos
  11. 11. Exemplo de definições numéricas • AnoNascimento YEAR(2)  Se alguém nasceu em 12, então refere-se a 2012  Se alguém nasceu em 80, então refere-se a 1980  Se alguém nasceu em 60, então refere-se a 2060 • Para campos TIMESTAMP preciso calcular DATA – EPOCH?  Não, entre com a data e o SGBD faz mágica!
  12. 12. Tipos literais Tipo Descrição Padrão CHAR[(M)] Texto de tamanho fixo, de 0 a 255, preenche o que sobrar com espaços em branco 1 VARCHAR(M) Texto de tamanho variável, de 0 a 65535 Usuário BINARY(M) Mesmo que CHAR, mas armazena texto binário em byte, onde M é o tamanho em bytes (geralmente um texto em memória) Usuário VARBINARY(M) Mesmo que CHAR, mas armazena texto binário em byte, onde M é o tamanho em bytes (geralmente um texto em memória) Usuário
  13. 13. Tipos literais Tipo Descrição TINYBLOB Binário de até 255 * (28 - 1) bytes TINYTEXT Texto de até 255 * (28 - 1) caracteres BLOB[(M)] Binário de até 65.535 * (216 – 1) bytes ou M TEXT[(M)] Texto de até 65.535 * (216 – 1) caracteres ou M MEDIUMBLOB Binário de até 16.777.215 * (224 – 1) bytes MEDIUMTEXT Texto de até 16.777.215 * (224 – 1) caracteres LONGBLOB Binário de até 4GB * (232 – 1) bytes LONGTEXT Texto de até 4GB * (232 – 1) caracteres
  14. 14. Tipos literais Tipo Descrição ENUM(‘value1’, ‘value2’, ...) Objeto deve ter apenas um dos valores descritos no ENUM, no máximo 65.535 SET(‘value1’, ‘value2’, ...) Objeto pode ter nenhum ou vários dos valores do SET, no máximo 64
  15. 15. Exemplo de definições numéricas • CPF CHAR(14)  Um texto fixo de 14 posições • Nome VARCHAR(255)  Um texto variável de até 255 posições • Texto TEXT  Um texto de até 65.535 * (216 – 1) caracteres • Sexo ENUM(‘M’, ‘F’)  Um texto que deverá aceitar APENAS ‘M’ ou ‘F’
  16. 16. Exercícios (0,N) (1,1) (0,N) (1,1) • Adicione o tipo de dado em cada campo/coluna apropriadamente
  17. 17. Exercícios • Adicione o tipo de dado em cada campo/coluna apropriadamente (1,1) (0,N) (0,N) (1,1) (0,N) (1,N) (0,N) (1,N)

×