Esta emocionante versão do Tipo de Dados Booleano Lab para Oracle Database 23c AI introduz suporte nativo para o tipo de dados booleano, uma mudança radical para desenvolvedores de bancos de dados. Com essa melhoria, você pode representar nativamente verdadeiro, falso e nulo , simplificando o modelagem de dados e tornando o desenvolvimento em SQL e PL/SQL mais eficiente.
Para ilustrar, vamos recriar um cenário envolvendo um Sistema de Informações de Estudantes, onde rastrearemos se os alunos estão atualmente matriculados em cursos usando o novo tipo de dados booleano.
Este recurso aumenta a produtividade dos desenvolvedores e torna o Oracle Database mais intuitivo de trabalhar.
Criando uma Tabela Com o Tipo de Dados Booleano
Começaremos criando uma tabela STUDENTS
que inclui uma coluna booleano chamada CURRENTLY_ENROLLED
:
DROP TABLE IF EXISTS STUDENTS CASCADE CONSTRAINT;
-- Create STUDENTS table with a boolean column
CREATE TABLE STUDENTS (
STUDENT_ID NUMBER PRIMARY KEY,
NAME VARCHAR2(100),
COURSE VARCHAR2(100),
CURRENTLY_ENROLLED BOOLEAN
);
Inserindo Dados Com Valores Booleanos
Agora vamos preencher a tabela com dados de exemplo usando diferentes literais booleanos:
-- Insert sample data using boolean values and accepted boolean literals
INSERT INTO STUDENTS VALUES (1, 'Alice', 'Mathematics', TRUE),
(2, 'Bob', 'Physics', FALSE),
(3, 'Charlie', 'Chemistry', 'yes'),
(4, 'Diana', 'Biology', 'no'),
(5, 'Eve', 'Computer Science', 'on'),
(6, 'Frank', 'Statistics', 'off'),
(7, 'Grace', 'History', 1),
(8, 'Hank', 'Philosophy', 0),
(9, 'Ivy', 'Engineering', NULL);
O Oracle mapeia várias entradas, como 'sim'
, 'não'
, 1
e 0
para seus respectivos valores booleanos. Vamos verificar os dados:
SELECT student_id, name, course, currently_enrolled
FROM students;
Consultando Dados Booleanos
Encontrando Alunos Atualmente Matriculados
Para recuperar alunos que estão atualmente matriculados:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled = TRUE;
Operações Lógicas em Colunas Booleanas
Valores booleanos permitem operações lógicas diretas. Por exemplo, filtrando alunos considerados “matriculados ativamente”:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled AND TRUE;
Encontrando Alunos Não Matriculados
Para identificar alunos que não estão atualmente matriculados:
SELECT student_id, name, course
FROM students
WHERE NOT currently_enrolled;
Combinando Lógica Booleana Com Outras Condições
Vamos recuperar alunos que estão matriculados ou cujos nomes começam com ‘A’:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled OR name LIKE 'A%';
Atualizando Valores Booleanos
Marcando um Aluno como Matriculado
Suponha que queiramos atualizar o status de matrícula do Bob:
UPDATE students
SET currently_enrolled = TRUE
WHERE student_id = 2;
-- Verify the update
SELECT name, currently_enrolled
FROM students
WHERE student_id = 2;
Usando PL/SQL Com Tipo de Dado Booleano
PL/SQL se integra perfeitamente com o novo tipo de dado booleano. Vamos adicionar um novo aluno:
DECLARE
l_student_id NUMBER := 10;
l_name VARCHAR2(100) := 'John';
l_course VARCHAR2(100) := 'Data Science';
l_enrolled BOOLEAN := TRUE;
BEGIN
INSERT INTO students (student_id, name, course, currently_enrolled)
VALUES (l_student_id, l_name, l_course, l_enrolled);
COMMIT;
END;
Vamos validar os dados recém-inseridos.
Conclusão
A introdução do tipo de dado booleano no Oracle Database 23c AI simplifica o design do banco de dados e melhora a legibilidade e manutenibilidade do seu código SQL e PL/SQL. Reduzir a dependência de soluções alternativas como códigos numéricos ou de caracteres capacita os desenvolvedores a escrever consultas mais limpas e intuitivas.
Seja gerenciando um Sistema de Informação de Alunos ou qualquer outra aplicação, o tipo de dado booleano torna o manuseio de valores lógicos simples e robusto. Tenha uma experiência prática hoje e veja como esse recurso pode elevar seus projetos de banco de dados.
Source:
https://dzone.com/articles/exploring-the-new-boolean-data-type-in-oracle-23c-ai