Bando de Dados Web. Tipos de dados

Documentos relacionados
BANCO DE DADOS WEB AULA 6. Tipos de Dados. professor Luciano Roberto Rocha.

PROGRAMAÇÃO ORIENTADA A OBJETOS II -CRIANDO UM BD POSTGRESQL. Prof. Angelo Augusto Frozza, M.Sc.

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo

Conceito de Campos e Tabelas

PROGRAMAÇÃO ORIENTADA A OBJETOS II -CRIANDO UM BD POSTGRESQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Comandos SQL. Exercícios com o MySQL ou MaridaDB. Prof. Emiliano S. Monteiro

Modelagem Física e SQL

Banco de Dados. Linguagem SQL

BANCO DE DADOS TIPOS DE VARÁVEIS SQL. Professor Carlos Muniz

Conceitos de Modelo Relacional Restrições de um Banco de Dados

Tipos de Dados. Banco de Dados I Prof. Erinaldo Nascimento

André Milani. Novatec

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

Modelagem Física e SQL

Banco de Dados? Banco de Dados Professor Vanderlei Frazão

Definição de Dados com SQL

Instituto Educacional de Castro Tecnologia em Sistemas para Internet

Paradigmas de Linguagens

Introdução a SQL (parte 2)

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

MYSQL: TIPOS DE DADOS. Gilvan Vieira Moura

Natanael Gonçalves Afonso 8º Período Engenharia da Computação Skydrive:

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Page 1. Prof. Constantino Jacob

MySQL + PHP 06/05/2015. IFSC/campus Florianópolis Programação para a WEB Prof. Herval Daminelli

INTRODUÇÃO AO MYSQL PROF. ME. HÉLIO ESPERIDIÃO

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

Algoritmos II prof. Daniel Oliveira

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

P R O J E T A N D O U M B A N C O D E D A D O S L O G I C A M E N T E P R O F. : A N D R É L U I Z M O N T E V E C C H I

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Fábio Borges de Oliveira. MySQL

P R O F. M E. H É L I O E S P E R I D I Ã O. Eng. Computação

INTRODUÇÃO AO MYSQL. Eng. Computação

Tarefa Orientada 8 Criação de tabelas

Aula 3: Tipos e variáveis

Modelagem de banco de dados com MySQL Workbench

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian

Linguagem Computacional

A Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe

FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO

Programação de Computadores III

JSP Prof. Daniela Pires. VARIAVEIS... 2 Tipos de Dados... 2 String Float Integer Boolean... 3

3. Linguagem de Programação C

Lição 4 Fundamentos da programação

Banco de Dados I Introdução SQL

BANCO DE DADOS GERENCIAL 1 A U L A 2

Estrutura de Dados Conceitos Iniciais

Algoritmos e Estruturas de Dados I

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Banco de Dados Web 4º TSI. Jonathan de Matos

Linguagem de Maquina II. Visão Geral

MCG126 Programação de Computadores II

Bem vindo à semana 14! Tema central: Banco de Dados

3/14/2012. Programação de Computadores O Computador. Memória Principal representação binária

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 10/03/2017 Prof. Alexandre - ELP1DLP1 / DEE

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

INTRODUÇÃO À LINGUAGEM C

Introdução. 17-out-08 Leandro Tonietto 2

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

BCD29008 Banco de dados

Banco de dados. Prof. Me. Hélio Esperidião

A linguagem SQL

A linguagem SQL

P R O F. M E. H É L I O E S P E R I D I Ã O. Eng. Computação

Introdução à Computação MAC0110

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

1/50. Conceitos Básicos. Programa Básico

Algoritmos e Lógica de Programação Introdução e formas de representação

Linguagem C: Introdução

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

SQL - Structured Query Language. Karine Reis Ferreira

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

MANUTENÇÃO DE COMPUTADORES SISTEMAS NUMÉRICOS

Introdução ao Fortran 90-1

SQL Linguagem de Definição de Dados

Estrutura de Dados. Cadeia de Caracteres. Roberto Araujo Ago/2013

ECT1203 Linguagem de Programação

Banco de Dados. Banco de Dados

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Projeto Físico de Banco de Dados

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

INTRODUÇÃO À LINGUAGEM C

Gestão de Base de dados Tabelas e Chaves

Cap. 2 Expressões na linguagem C

Treinamento em SQL. Índice

REDES DE COMPUTADORES II

Princípios de Desenvolvimento de Algoritmos MAC122

Introdução ao PostgreSQL

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte

Bits e operações. Sistemas de Computação

Sistemas numéricos e a Representação Interna dos Dado no Computador

Transcrição:

Bando de Dados Web Tipos de dados 4º TSI Jonathan de Matos

A escolha dos tipos de dados Tipo de dado é o conjunto de valores e operações (domínio) que um determinado atributo ou variável pode armazenar. No PostgreSQL existem diversos tipos de dados para o armazenamento e gerenciamento de informações. A escolha adequada do tipo de dado, de acordo com a informação a ser armazenada, gera uma otimização de recursos e aumento no desempenho do SGBD.

Tipos de dados no Postgres Os tipos de dados suportados pelo PostgreSQL são divididos nas seguintes categorias: Numéricos Monetários (obsoleto) Strings (caracteres e textos) Datas e horas Binários/Booleanos Rede Geométicos

Numéricos: SMALLINT ou INT2 Armazena valores numéricos inteiros pequenos. Armazenamento: 2 bytes Intervalo: -32768 a +32767 Quantidade de produtos em estoque, idade, número de filhos etc. 300 300 50000 Erro: o valor passa do domínio

Numéricos: INTEGER / INT / INT4 Armazena valores numéricos inteiros de tamanho normal. Armazenamento: 4 bytes Intervalo: -2147483648 a +2147483647 Com o tipo de dado INTEGER é possível armazenar valores próximos de 2 bilhões (positivos ou negativos) 123456789 123456789 12345678900 Erro: o valor passa do domínio

Numéricos: BIGINT / INT8 Armazena valores inteiros de tamanho gigantesco. Armazenamento: 8 bytes Intervalo: Aproximadamente 18 casas decimais. É importante destacar que quanto maior o intervalo de valores que o tipo de dado utiliza, maior é o espaço em disco que o mesmo ocupa. 123456789 123456789 12345678900 12345678900

Numéricos: REAL / FLOAT4 Armazena valores numéricos com casa decimal (ponto flutuante) de precisão simples. Armazenamento: 4 bytes Intervalo: 6 casas decimais. Esse tipo de dado deve ser atualmente utilizado para armazenar valores monetários, geralmente com duas casas decimais. 10020 10020 10020.60 10020.6

Numéricos: NUMERIC(p,s) / DECIMAL(p,s) Armazena números exatos, com precisão definida pelo usuário. Armazenamento: 8 bytes + (2 * (s/4)) Intervalo: limitado a 1000 digitos. O parâmetro p indica o número total de dígitos que o campo poderá conter e s indica o número de dígitos após o ponto decimal. 12.3456 12.35 (Se criado numeric(6,2)) 1234 1234.00 (Se criado numeric(6,2))

Numéricos: SERIAL / SERIAL4 Não são tipos verdadeiros, mas sim uma notação para definir colunas identificadoras únicas (auto-incremento), criando implicitamente uma sequência (sequence). Armazenamento: 4 bytes Intervalo: 1 a 2147483647 (próximo de 2 bilhões) Deve-se tomar cuidado ao querer informar o valor deste campo manualmente para um registro, pois pode ser que o PostgreSQL alcance posteriormente o valor informado.

Numéricos: BIGSERIAL / SERIAL8 Possui as mesmas características do SERIAL, com a vantagem de possuir um limite numérico extremamente maior. Armazenamento: 8 bytes Intervalo: 1 a 9,2E+19 (9223372036854775807) Este tipo de dado utiliza o dobro de espaço de armazenamento em relação ao SERIAL, devendo ser utilizado somente se houver a expectativa de possuir mais de 2 bilhões de registros na tabela.

Monetários: MONEY Até algumas versões mais antigas do PostgreSQL era o formato utilizado para armazenar valores monetários no formato de moeda americana. Armazenamento: 4 bytes Intervalo: -21474836.48 a +21474836.47 Este tipo de dado tornou-se obsoleto, sendo atualmente utilizado o tipo de dado REAL, contudo por razões de compatibilidade o PostgreSQL ainda dá suporte ao tipo MONEY.

Strings: CHARACTER(n) / CHAR(n) Uma string formada por um número fixo (n) de caracteres. Esse tipo preenche com espaços em branco a direita do conteúdo até totalizar o comprimento da string. Armazenamento: (4+n) bytes Capacidade: até 1Gb de informação (considerando um char(10)) 'strmenor' 'stringmaiormaior' 'strmenor ' Erro: maior que o declarado

Strings: CHARACTER VARYING(n) / VARCHAR(n) Uma string de tamanho variado. Similar ao tipo CHAR, apenas difere pelo fato de não completar a string com espaços caso o tamanho do texto não atinja o comprimento definido. Armazenamento: (4+n) bytes Capacidade: até 1Gb de informação Exemplo: considerando um varchar(10) 'strmenor' 'stringmaiormaior' 'strmenor' Erro: maior que o declarado

Strings: TEXT Armazena diferentes tipos de textos, que não possuam tamanho similar entre os registros. Não requer a declaração de um número máximo de caracteres. Armazenamento: (4+n) bytes Capacidade: Até 1 Gb de informação

Datas e Horas: INTERVAL(p) Este tipo de dado representa um período de tempo. Sua utilização está ligada a operações com tempo, expirações de prazos e outros. Armazenamento: 12 bytes Capacidade: -178000000 anos a 178000000 anos O parâmetro p indica as casas decimais da unidade de segundo. A utilização do tipo INTERVAL deve ser sempre no formato quantidade seguido de uma das unidades apresentadas.

Datas e Horas: INTERVAL(p) As unidades de tempo podem ser: second, minute,hour, day, week, month, year, decade, century, millennium, ago (tempo negativo) É possível utilizar os temos em seus respectivos plurais em inglês, contudo não é obrigatório, mesmo quando a quantidade para a referida unidade de tempo é superior a 1. 10 year ou 10 years 2 decades 1 year 5 days 2 hours 17 minutes 3.23 seconds ago

Datas e Horas: DATE Armazena somente dadas, que são aceitas em diversos formatos. Como padrão é usado o ISO (YYYY-MM-DD). Armazenamento: 4 bytes Intervalo: 4713 BC a 5874897 AD 'now' '12/03/2013' '01-Mar-2012' 'today' '2013-03-12' '2013-03-12' '2013-03-01' '2013-03-12'

Datas e Horas: TIME / TIME without time zone Armazena uma hora do dia sem a região de fuso horário. Armazenamento: 8 bytes Intervalo: 00:00:00 a 24:00:00 'now' '21:10:32' '21:10:32' '21:10:32'

Datas e Horas: TIME(n) with time zone / TIMENZT(n) Armazena uma hora do dia junto com a informação de região de fuso horário do tempo em questão. Armazenamento: 12 bytes Intervalo: 00:00:00+1459 a 24:00:00-1459 'now' '21:10:32' '21:10' '09:10 PM' '21:10:32.221-03' '21:10:32-03' '21:10:00-03' '21:10:00-03'

Datas e Horas: TIMESTAMP [without time zone] Armazena uma concatenação de data e hora nos mesmos formatos dos seus respectivos tipos (DATE TIME). Armazenamento: 8 bytes Intervalo: 4713 BC a 294276 AD Exemplos: Opcionalmente podem ser informados após a data as siglas AD (Anno Domini) ou BC (Before Christ). 'now' '21:10:32' '12-03-2013' '2013-03-12 21:10:32' Erro: necessário informar data '2013-03-12 00:00:00'

Datas e Horas: TIMESTAMP(n) with time zone AArmazena uma concatenação de data e hora junto com a informação da região de fuso horário. Armazenamento: 8 bytes Intervalo: 4713 BC a 294276 AD Opcionalmente podem ser informados após a data as siglas AD (Anno Domini) ou BC (Before Christ). 'now' '21:10:32' '12-03-2013' '2013-03-12 21:10:32-03' Erro: necessário informar data '2013-03-12 00:00:00-03'

Binários e Booleanos: BYTEA Também conhecido como BLOB pelo padrão SQL. Permite o armazenamento de cadeias binárias. Armazenamento: (4 + n) bytes Exemplos: O tipo de dados BLOB (Binary Large Object) geralmente é utilizado para armazenar imagens ou outros arquivos (documentos, áudios, vídeos etc.) em outros SGBDs. Embora isso seja possível no PostgreSQL não é aconselhável por motivos de desempenho, pois como os dados são armazenados bit-a-bit a o seu armazenamento e recuperação pode se tornar extremamente lento.

Binários e Booleanos: BIT(n) Armazena strings binárias de tamanho fixo (n) formado por 0 s e 1 s. Deve-se respeitar o número de caracteres definidos ao inserir registros. Armazenamento: (n) bytes Supondo um BIT com 10 posições B'0100100011' 0100100011 B'01001000' Erro: menos posições B'01001000111' Erro: mais posições

Binários e Booleanos: BIT VARYING(n) / VARBIT(n) Assim como o formato BIT, este tipo de dado armazena strings binárias. A diferença é que este suporta string de diferentes tamanhos, desde que menores do que o declarado. Armazenamento: (n) bytes Supondo um VARBIT com 10 posições B'0100100011' 0100100011 B'01001000' 01001000 B'01001000111' Erro: mais posições

Binários e Booleanos: BOOLEAN / BOOL Possibilita armazenar as opções TRUE e FALSE. Geralmente utilizado como FLAG de propriedades de objetos. Armazenamento: 1 byte Intervalo: TRUE, true, YES, yes, T, t, Y, y, 1, FALSE, false, NO, no, F, f, N, n, 0 TRUE false 'F' T t f f Erro: aspas necessárias

Tipos de dados de Redes É possível armazenar informações de redes como IPs e endereços MAC utilizando os seguintes tipos de dados: CIDR: Armazena endereços de rede IPv4. Ex.: 10.1/25 (arredonda para zeros quando omitido o IP completo.) INET: Armazena um endereço de rede ou de host, com a diferença de não permitir a omissão de partes do número IP. Ex.: 10.1.100.128/25-2001:4f8:3:ba::/64 MACADDR: Armazena um endereço MAC de placas de rede. Ex.: 11:00:1e:02:12:01

Tipos de dados de Geométricos Com o rápido crescimento das aplicações gráficas, alguns novos tipos de dados surgiram: POINT: Representa um ponto. Ex.: (1,5) LSEG: Representa um Segmento de linha. Ex.: ((1,5), (3,2)) PATH: Coordenadas de um desenho formado por pontos. Ex.: ((1,5), (1,6),(2,8)) BOX: Uma caixa retangular representada por um par de pontos. Ex.: ((1,5), (3,2)) POLYGON: Representa um polígono de forma regular/irregular. Ex.: (1,5), (1,6),(2,8),(3,3) CIRCLE: Representa um círculo, formado pelo seu ponto central e tamanho do seu raio. Ex.: ((1,5), 2)