Tipos de dados

Um resumo sobre os tipos de dados suportados pelo Oracle.

Alfanuméricos:

  • VARCHAR2 – caracteres, comprimento variável, de 1 byte até 4 KB;
  • NVARCHAR2 – semelhante ao VARCHAR2, mas armazenados no conjunto de caracteres nacional alternativo;
  • CHAR – caracteres, comprimento fixo, de 1 byte até 2 KB. Se os dados não forem do tamanho da coluna, esta é preenchida com espaços;
  • RAW – dados binários de comprimento variável, de 1 byte a 2 KB. Não são convertidos pelo Oracle Net do conjunto de caracteres de banco de dados para o conjunto de caracteres do processo de usuário na seleção ou na inserção.

Numéricos

  • NUMBER – pode ser especificado a precisão e escala. Precisão de 1 a 38, escala de -84 a 127;
  • FLOAT – tipo de dado ANSI, número de ponto flutuante com precisão de 126 binários (ou 38 decimais). Alternativas: BINARY_FLOAT e BINARY_DOUBLE;
  • INTEGER – equivalente ao NUMBER, com escala zero.

Data e Hora

  • DATE – pode ser de comprimento zero (coluna vazia), ou 7 bytes. Incluem século, ano, mês, dia, hora, minuto e segundo. O intervalo válido é de 1o. de janeiro de 4712 A.C. até 31 de dezembro de 9999 D.C;
  • TIMESTAMP – comprimento zero até 11 bytes. Similar a DATE, mas com precisão de até nove casas decimais para segundos (seis casas por padrão);
  • TIMESTAMP WITH TIMEZONE – similar ao timestamp, mas os dados são armazenados com um registro mantido do fuso horário ao qual ele se refere. Comprimento de até 13 bytes, dependendo da precisão. Permite que o Oracle determine a diferença entre duas horas normalizado-as para UTC, mesmo estando em fuso horários diferentes;
  • TIMESTAMP WITH LOCAL TIMEZONE – igual ao timestamp, mas os dados são normalizados para o fuso horário do banco de dados no salvamento. Quando recuperado, é normalizado para o fuso horário do processo do usuário;
  • INTERVAL YEAR TO MONTH – registra um período em anos e meses entre duas DATE’s ou TIMESTAMP’s;
  • INTERVAL DAY TO SECOND – registra um período em dias e segundos entre duas DATE’s ou TIMESTAMP’s.

Large Objects

  • CLOB – dados de caracteres armazenados no conjunto de caracteres do banco de dados. Tamanho suportado: 4 GB multiplicado pelo tamanho do bloco de banco de dados;
  • NCLOB – similar ao CLOB, porém armazenados no conjunto de caracteres de idioma nacional alternativo;
  • BLOB – similar ao CLOB, exceto os dados binários que não sofrem conversão de conjunto de caracteres pelo Oracle Net;
  • BFILE – localizador que aponta para um arquivo armazenado no sistema operacional do servidor do banco de dados. Tamanho dos arquivos limitado a 4 GB;
  • LONG – caracteres, até 2 GB. Precursor do CLOB. LONG’s não devem ser usados em um banco de dados moderno, pois toda a sua funcionalidade (e outras mais) é fornecida pelo CLOB;
  • LONG RAW – similar ao LONG, exceto que os dados binários não são convertidos pelo Oracle Net. Colunas LONG RAW devem ser convertidas para BLOB’s.

Referência Bibliográfica

Este post, assim como todos os posts sobre Certificação OCA deste blog, são trechos do livro “OCA Oracle Database 11g – Administração I (Guia do Exame 1Z0-052)”, da editora Bookman – www.bookman.com.br
Recomendo este livro a todos que pretendem estudar para o exame. Meus posts são apenas algumas dicas para quem já está estudando por outros materiais, e por isso exige uma base de conhecimento anterior em cada um dos capitulos. Para uma referência completa de estudos é recomendado a compra do livro correspondente, bem como a documentação oficial da Oracle.