SlideShare une entreprise Scribd logo
1  sur  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)

Contenu connexe

Tendances

Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Leinylson Fontinele
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulárioCentro Paula Souza
 
Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Pacc UAB
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1Pacc UAB
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - MatrizesPacc UAB
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlgWillians Miyabara
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
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
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
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
 

Tendances (20)

Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulário
 
Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Html Básico
Html BásicoHtml Básico
Html Básico
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - Matrizes
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Tipos de dados em MySQL
Tipos de dados em MySQLTipos de dados em MySQL
Tipos de dados em MySQL
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
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 }
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
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
 

Similaire à 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
 

Similaire à Tipos Dados SGBD (8)

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
 

Plus de 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
 
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 - Dado, Informação e Abstração
Banco de Dados - Dado, Informação e AbstraçãoBanco de Dados - Dado, Informação e Abstração
Banco de Dados - Dado, Informação e AbstraçãoNatanael Simões
 
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...Natanael Simões
 

Plus de 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
 
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 - Entidade
Banco de Dados - EntidadeBanco de Dados - Entidade
Banco de Dados - Entidade
 
Banco de Dados - Dado, Informação e Abstração
Banco de Dados - Dado, Informação e AbstraçãoBanco de Dados - Dado, Informação e Abstração
Banco de Dados - Dado, Informação e Abstração
 
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
Banco de Dados - Introdução: Participação dos bancos de dados no desenvolvime...
 

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)