Este lançamento empolgante do Tipo de Dado Booleano para Oracle Database 23c AI introduz suporte nativo para o tipo de dado booleano, uma mudança radical para desenvolvedores de banco de dados. Com essa melhoria, você pode representar nativamente true, false e null valores, simplificando a 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ção de Estudantes, onde vamos acompanhar se os alunos estão atualmente matriculados em cursos usando o novo tipo de dado booleano.
Essa funcionalidade aumenta a produtividade do desenvolvedor e torna o Oracle Database mais intuitivo para trabalhar.
Criando uma Tabela Com o Tipo de Dado Booleano
Começaremos criando uma tabela STUDENTS
que inclui uma coluna boolean 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 'yes'
, 'no'
, 1
e 0
para seus correspondentes 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 estudantes considerados “matriculados ativamente”:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled AND TRUE;
Encontrando Estudantes Não Matriculados
Para identificar estudantes 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 estudantes 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 Estudante como Matriculado
Suponha que queremos 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 o Tipo de Dados Booleano
PL/SQL se integra perfeitamente com o novo tipo de dados booleano. Vamos adicionar um novo estudante:
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 dados 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 Estudantes ou qualquer outra aplicação, o tipo de dados booleano torna o manuseio de valores lógicos direto e robusto. Obtenha 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