Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Tipos de dados Oracle


Ao criar uma tabela Oracle, você precisa especificar um tipo de dados para cada coluna, que está associado a um formato de armazenamento específico, restrições e um intervalo válido de valores. O conhecimento dos tipos de dados é necessário antes de criar a tabela. Aqui neste artigo, veremos importantes tipos de dados oracle que você usará em PLSQL, SQL com bastante frequência enquanto trabalha com banco de dados Oracle

A Oracle fornece as seguintes categorias de tipos de dados integrados:
Tipos de dados de caracteres
Tipos de dados numéricos
Tipo de dados DATA
Tipos de dados LOB
Tipos de dados RAW e LONG RAW
Tipos de dados ROWID e UROWID

Tipo de dados do caractere


-CHAR, NCHAR, VARCHAR2 &NVARCHAR2.

O tipo de dados CHAR é uma string alfanumérica de comprimento fixo que tem um comprimento máximo em bytes.

-Ao criar um tipo de dados CHAR, o banco de dados preservará espaço para os dados de entrada e, se os dados forem menores que o tamanho máximo, serão preenchidos com espaço à direita

Por exemplo, se você declarar uma variável/coluna do tipo de dados CHAR (5), ela sempre levará 5 bytes, independentemente de você estar armazenando 1 caractere ou 5 caracteres nesta variável ou coluna. E neste exemplo, como declaramos esta variável/coluna como CHAR(5), podemos armazenar no máximo 5 caracteres nesta coluna.

-O tipo de dados VARCHAR2 é uma string alfanumérica de comprimento variável, que tem um comprimento máximo em bytes. Ele pode armazenar até 4000 bytes.

VARCHAR2 é um tipo de dados de comprimento variável. Por exemplo, se você declarar uma variável/coluna do tipo de dados VARCHAR 2(10), ela terá o número de bytes igual ao número de caracteres armazenados nesta coluna. Então, nesta variável/coluna, se você estiver armazenando apenas um caractere, levará apenas um byte e se estivermos armazenando 10 caracteres, serão necessários 10 bytes. E neste exemplo, como declaramos esta variável/coluna como VARCHAR2 (10), podemos armazenar no máximo 10 caracteres nesta coluna. O espaço utilizado dependerá dos valores da coluna e não haverá desperdício de espaço.

Também gostaria de enfatizar aqui uma coisa que quando damos VARCHAR2(10) aqui é 10 é o número dos bytes e não o caractere. Número de caracteres e bytes são semelhantes quando caracteres ASCII estão envolvidos, mas a equação é alterada, começamos a usar caracteres diferentes de ASCII
The length semantics of character datatypes can be measured in bytes or characters.

Byte semantics treat strings as a sequence of bytes. This is the default for character datatypes.

Character semantics treat strings as a sequence of characters. A character is technically a codepoint of the database character set.

So VARCHAR (10 Byte) has length measured in byte. VARCHAR (10 CHAR)  has length measured in character.

The default for VARCHAR is based on NLS_LENGTH_SEMANTICS parameter set in the database. By default this is set to Byte,so when we use VARCHAR(10) , it uses length measured in byte

-O tipo de dados VARCHAR é sinônimo do tipo de dados VARCHAR2. Para evitar possíveis mudanças no comportamento, sempre use o tipo de dados VARCHAR2 para armazenar cadeias de caracteres de comprimento variável.

-NCHAR e NVARCHAR2 são tipos de dados Unicode que armazenam dados de caracteres Unicode. O conjunto de caracteres dos tipos de dados NCHAR e NVARCHAR2 só pode ser AL16UTF16 ou UTF8 e é especificado no momento da criação do banco de dados como o conjunto de caracteres nacional. AL16UTF16 e UTF8 são codificação Unicode.
Example

create table test  (
First_name char(6),
Last_name varchar2(10));

Tipo de dados numérico


-NUMBER ou NUMBER(p,s)

-O tipo de dados NUMBER(p,s) armazena o número com precisão e escala.

– O tipo de dados NUMBER armazena até 38 dígitos de precisão

-Tipos de dados numéricos armazenam números inteiros negativos e positivos de ponto fixo e números de ponto flutuante

-Quando uma coluna é definida como NUMBER (6, 2), o intervalo de valores pode ser armazenado de –9999,99 a 9999,99. Portanto, temos o dígito total como 6 e 4 dígitos antes do decimal e 2 dígitos após o decimal O Oracle arredonda os números de ponto flutuante.
Example

create table test  (
First_name char(6),
Last_name varchar2(10)
age number;
Salary number(10,2)
); 

Data e hora


–DATE, TIMESTAMP (com fuso horário ou fuso horário local),

-O tipo de dados DATE é usado para armazenar informações de data e hora.

-Esse tipo de dado possui uma série de funções específicas para manipulação, formatação e visualização de seus dados.
-O tipo de dados DATE armazena sete bytes e possui informações sobre século, ano, mês, dia, horas, minutos e segundos.
- O parâmetro NLS_DATE_FORMAT pode ser alterado para controlar a visualização dos dados. A função SYSDATE retorna a data atual
–O banco de dados Oracle também fornece o tipo de dados DATE com reconhecimento de fuso horário

TIMESTAMP COM FUSO HORÁRIO
TIMESTAMP COM FUSO HORÁRIO LOCAL
 Example

create table test  (
First_name char(6),
Last_name varchar2(10)
age number,
Salary number(10,2),
start_date date );

Objetos grandes


-BLOB(objeto binário grande) , CLOB(caractere objeto grande) , NCLOB &BFILE

-Colunas desses tipos de dados podem armazenar dados não estruturados, incluindo texto, imagem, vídeo e dados espaciais. -O tipo de dados CLOB pode armazenar até oito terabytes de dados de caracteres usando o conjunto de caracteres do banco de dados CHAR.

-O tipo de dados BLOB é usado para armazenar grandes objetos binários não estruturados, como aqueles associados a dados de imagem e vídeo, onde os dados são simplesmente um fluxo de valores de “bit”.

-O valor do tipo de dados BFILE funciona como um localizador de arquivo ou ponteiro para arquivo no sistema de arquivos do servidor. O tamanho máximo de arquivo suportado é de 8 TB a 128 TB.

Longo


Dados de caracteres de comprimento variável até 2 G

desordenado


Um sistema numérico de 64 bases representando o endereço exclusivo da linha na tabela

Espero que você goste deste conteúdo sobre os tipos de dados Oracle

Artigos relacionados

Índices do Oracle
Perguntas da entrevista do Oracle
Funções de data no Oracle
Instrução INSERT no Oracle
Instrução de atualização no oracle
como verificar todas as restrições em uma tabela no oracle
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832