SlideShare a Scribd company logo
1 of 17
#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
Objetivo
• Conhecer os principais tipos de dados trabalhados pelos
SGBD do mercado
• Tipos de Dados
• Tipos numéricos
• Tipos de data e hora
• Tipos literais
Conteúdo programático
• 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
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
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
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
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
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
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
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!
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
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
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
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’
Exercícios
(0,N)
(1,1)
(0,N)
(1,1)
• Adicione o tipo de dado
em cada campo/coluna
apropriadamente
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)

More Related Content

What's hot

Aula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosAula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosJanynne Gomes
 
JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)Gustavo Zimmermann
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Gercélia Ramos
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmosMauro Pereira
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAlberto Simões
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugolGabriel Faustino
 
Aula de Reforço Access
Aula de Reforço Access Aula de Reforço Access
Aula de Reforço Access Daniel da Silva
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalizaçãoTicianne Darin
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 

What's hot (20)

Aula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosAula 5 - Dicionário de Dados
Aula 5 - Dicionário de Dados
 
JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Aula de Reforço Access
Aula de Reforço Access Aula de Reforço Access
Aula de Reforço Access
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Aula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e LógicasAula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e Lógicas
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 

Similar to Tipos Dados SGBD

Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Daniel Brandão
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysqlArley Rodrigues
 
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docxmodulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docxAnaAlmeida462833
 
Conceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados MysqlConceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados Mysqlbinhoetec
 

Similar to Tipos Dados SGBD (9)

PDB Collate
PDB CollatePDB Collate
PDB Collate
 
PDB Tipos de dados
PDB Tipos de dadosPDB Tipos de dados
PDB Tipos de dados
 
Apostila etec banco
Apostila etec   bancoApostila etec   banco
Apostila etec banco
 
Mongoengine
MongoengineMongoengine
Mongoengine
 
Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysql
 
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docxmodulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
 
Conceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados MysqlConceitos inicias de banco de dados Mysql
Conceitos inicias de banco de dados Mysql
 
Tipos de dados em MySQL
Tipos de dados em MySQLTipos de dados em MySQL
Tipos de dados em MySQL
 

More from Natanael Simões

Criação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino PresencialCriação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino PresencialNatanael Simões
 
Eletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomoEletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomoNatanael Simões
 
Apresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica BásicaApresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica BásicaNatanael Simões
 
Apresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da InformaçãoApresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da InformaçãoNatanael Simões
 
Apresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software LivreApresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software LivreNatanael Simões
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLNatanael Simões
 
Componentes passivos e eletromecânicos
Componentes passivos e eletromecânicosComponentes passivos e eletromecânicos
Componentes passivos e eletromecânicosNatanael Simões
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de ProgramaçãoNatanael Simões
 
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareAplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareNatanael Simões
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasNatanael Simões
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasNatanael Simões
 
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Natanael Simões
 
Processo de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoProcesso de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoNatanael Simões
 
Processo de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoProcesso de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoNatanael Simões
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosNatanael Simões
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
 
Processo de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoProcesso de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoNatanael Simões
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 

More from Natanael Simões (20)

Criação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino PresencialCriação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino Presencial
 
Eletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomoEletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomo
 
Apresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica BásicaApresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica Básica
 
Apresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da InformaçãoApresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da Informação
 
Apresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software LivreApresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software Livre
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
O que são resistores
O que são resistoresO que são resistores
O que são resistores
 
Componentes passivos e eletromecânicos
Componentes passivos e eletromecânicosComponentes passivos e eletromecânicos
Componentes passivos e eletromecânicos
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareAplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
 
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
 
Processo de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoProcesso de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - Programação
 
Processo de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoProcesso de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - Prototipação
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
 
Processo de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoProcesso de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de Definição
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
Banco de Dados - Entidade
Banco de Dados - EntidadeBanco de Dados - Entidade
Banco de Dados - Entidade
 

Tipos Dados SGBD

  • 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. Objetivo • Conhecer os principais tipos de dados trabalhados pelos SGBD do mercado
  • 3. • Tipos de Dados • Tipos numéricos • Tipos de data e hora • Tipos literais Conteúdo programático
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Exercícios (0,N) (1,1) (0,N) (1,1) • Adicione o tipo de dado em cada campo/coluna apropriadamente
  • 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)