Manipulação de Dados JSON no Oracle 21c: Um Guia para Concursos

Descubra como o Oracle 21c revolucionou a manipulação de dados JSON, essencial para concursos e aplicações práticas.

Por
3 min. de leitura

Olá pessoal ! As bancas tem cobrado o Oracle 21 que trouxe melhorias importantes para o suporte a dados JSON, tornando-se uma escolha poderosa para gerenciar dados semi-estruturados. Neste artigo, vamos explorar como criar, armazenar e atualizar dados JSON, abordando comandos que podem ser cobrados em provas.

1. O que é JSON e por que é relevante?

JSON (JavaScript Object Notation) é um formato leve de troca de dados, amplamente utilizado por sua simplicidade e legibilidade. Nos bancos de dados modernos, a capacidade de armazenar e manipular JSON permite maior flexibilidade para lidar com dados semi-estruturados. No Oracle 21c, essa funcionalidade é ampliada com novos operadores e funções que tornam a manipulação de JSON mais eficiente.

2. Criando uma Tabela com Campo JSON

No Oracle 21c, é possível criar tabelas com colunas do tipo JSON, permitindo o armazenamento nativo de documentos JSON. Um exemplo prático é a criação de uma tabela j_order, onde armazenaremos dados de pedidos. O comando básico é:

CREATE TABLE j_order (

    id INTEGER PRIMARY KEY,

    po_doc JSON

);

Neste exemplo, a tabela j_order possui duas colunas: id, que é a chave primária do tipo inteiro, e po_doc, onde os dados JSON serão armazenados.

Veja que rodando no Oracle LIVE não funciona, vou anexar a tela de exemplo:

Pois ele ainda roda em cima de um ORACLE 19c, onde o tipo ainda não existia, por isso ao simular esses comandos tenha a versão correta do ORACLE.

3. Armazenando Dados JSON

Depois de criar a tabela, podemos inserir documentos JSON no campo po_doc. Por exemplo, para inserir um pedido com informações de endereço e telefone, usamos o comando INSERT:

INSERT INTO j_order (id, po_doc)

VALUES (1, ‘{ “address”: “123 Main St”, “phone”: “555-1234” }’);

Esse comando adiciona um documento JSON com campos address e phone ao pedido de ID 1.

4. Atualizando Dados JSON com JSON_TRANSFORM

O Oracle 21c introduziu funções para modificar dados JSON diretamente, sem precisar sobrescrever o documento inteiro. A função JSON_TRANSFORM permite atualizar ou remover valores em um documento JSON existente. Por exemplo:

UPDATE j_order

SET po_doc = JSON_TRANSFORM(po_doc,

    SET ‘$.address’ = ‘primary’,

    REMOVE ‘$.phone’

);

Este comando altera o valor do campo address para “primary” e remove o campo phone.

5. O Operador SET

No exemplo acima, usamos o operador SET dentro da função JSON_TRANSFORM. Esse operador permite modificar um valor existente ou adicionar um novo campo ao JSON. No comando, $.address se refere ao campo address no documento JSON e o define como “primary”.

6. O Operador REMOVE

Outro operador importante é o REMOVE, que exclui um campo específico dentro do JSON. No comando anterior, REMOVE ‘$.phone’ remove o campo phone do documento JSON, simplificando a estrutura de dados conforme necessário.

7. Sintaxe de Caminho JSON no Oracle

A sintaxe $.campo usada nos operadores SET e REMOVE é chamada de “caminho JSON” e permite navegar até um campo específico dentro do documento JSON. O símbolo $ representa a raiz do documento, e campo refere-se à chave específica a ser modificada.

8. Verificando Estrutura JSON

O Oracle 21c também permite verificar a estrutura JSON diretamente na coluna. Usar IS JSON na definição de tabela garante que apenas dados no formato JSON válido possam ser inseridos na coluna po_doc, o que ajuda a evitar erros de estrutura.

ALTER TABLE j_order ADD CONSTRAINT po_doc_is_json CHECK (po_doc IS JSON);

Esse comando adiciona uma restrição para garantir que todos os valores em po_doc estejam no formato JSON.

9. Buscando Dados em Campos JSON

Além de modificar, também é possível consultar dados JSON no Oracle 21c. Usando funções como JSON_VALUE, conseguimos extrair valores específicos de um documento JSON. Por exemplo:

SELECT JSON_VALUE(po_doc, ‘$.address’) AS address

FROM j_order

WHERE id = 1;

Esse comando retorna o valor do campo address para o pedido com id = 1.

10. Trabalhando com Arrays JSON

O Oracle 21c suporta arrays JSON, permitindo que os dados semi-estruturados tenham múltiplos valores em uma única chave. Por exemplo, um campo phones pode armazenar múltiplos números. Manipular esses arrays com JSON_TRANSFORM facilita atualizações, adições ou remoções de elementos específicos.

11. Otimizando Consultas com Índices JSON

Para melhorar o desempenho, o Oracle permite a criação de índices em campos JSON. Isso é útil para consultas frequentes em grandes volumes de dados JSON. Com CREATE INDEX, podemos criar índices específicos para campos dentro de documentos JSON.

CREATE INDEX idx_address ON j_order (JSON_VALUE(po_doc, ‘$.address’));

Esse índice otimiza as consultas que buscam pelo campo address em po_doc.

12. Conclusão

O Oracle 21c oferece um conjunto completo de ferramentas para manipulação de dados JSON, permitindo a criação, atualização e consulta de dados semi-estruturados de maneira eficiente. Dominar essas funções, como JSON_TRANSFORM, JSON_VALUE e IS JSON, pode ser um diferencial em provas de concurso para a área de banco de dados, destacando-se como um conhecimento essencial para lidar com dados modernos no Oracle.


Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil? Clique nos links abaixo:

CNU 2025 (CONCURSOS NACIONAL UNIFICADO 2)

CONCURSOS 2025

CONCURSOS 2026

CONCURSOS ABERTOS

QUESTÕES DE CONCURSOS

Receba gratuitamente no seu celular as principais notícias do mundo dos concursos. Clique no link abaixo e inscreva-se:

WHATSAPP

TELEGRAM

Por
3 min. de leitura