Questa entusiasmante release del Boolean Data Type Lab per Oracle Database 23c AI introduce il supporto nativo per il tipo di dato booleano, un cambiamento radicale per gli sviluppatori di database. Con questo miglioramento, puoi rappresentare nativamente true, false e null valori, semplificando la modellazione dei dati e rendendo lo sviluppo in SQL e PL/SQL più efficiente.
Per illustrare, ricreiamo uno scenario che coinvolge un Sistema Informativo Studenti, dove terremo traccia se gli studenti sono attualmente iscritti ai corsi utilizzando il nuovo tipo di dato booleano.
Questa funzionalità aumenta la produttività degli sviluppatori e rende Oracle Database più intuitivo da utilizzare.
Creazione di una Tabella con il Tipo di Dato Booleano
Inizieremo creando una tabella STUDENTS
che include una colonna booleano chiamata 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
);
Inserimento di Dati con Valori Booleani
Ora popoleremo la tabella con dati di esempio utilizzando diversi letterali booleani:
-- 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);
Oracle mappa vari input, come 'yes'
, 'no'
, 1
e 0
ai loro valori booleani corrispondenti. Verifichiamo i dati:
SELECT student_id, name, course, currently_enrolled
FROM students;
Interrogazione dei Dati Booleani
Trovare Studenti Attualmente Iscritti
Per recuperare gli studenti che sono attualmente iscritti:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled = TRUE;
Operazioni Logiche sulle Colonne Booleano
I valori booleani consentono operazioni logiche dirette. Ad esempio, filtrare gli studenti considerati “attivamente iscritti”:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled AND TRUE;
Trovare studenti non iscritti
Per identificare gli studenti che non sono attualmente iscritti:
SELECT student_id, name, course
FROM students
WHERE NOT currently_enrolled;
Combinare la logica boolean con altre condizioni
Recuperiamo gli studenti che sono iscritti o i cui nomi iniziano con ‘A’:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled OR name LIKE 'A%';
Aggiornare i valori booleani
Contrassegnare uno studente come iscritto
Supponiamo di voler aggiornare lo stato di iscrizione di Bob:
UPDATE students
SET currently_enrolled = TRUE
WHERE student_id = 2;
-- Verify the update
SELECT name, currently_enrolled
FROM students
WHERE student_id = 2;
Utilizzare PL/SQL con il tipo di dato booleano
PL/SQL si integra perfettamente con il nuovo tipo di dato booleano. Aggiungiamo un nuovo studente:
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;
Valiamo i dati appena inseriti.
Conclusione
L’introduzione del tipo di dato booleano in Oracle Database 23c AI semplifica il design del database e migliora la leggibilità e la manutenibilità del tuo codice SQL e PL/SQL. Ridurre la dipendenza da soluzioni alternative come codici numerici o caratteri consente agli sviluppatori di scrivere query più pulite e intuitive.
Che tu stia gestendo un Systema Informativo Studenti o qualsiasi altra applicazione, il tipo di dato booleano rende la gestione dei valori logici semplice e robusta. Fai esperienza pratica oggi stesso e scopri come questa funzionalità può elevare i tuoi progetti di database.
Source:
https://dzone.com/articles/exploring-the-new-boolean-data-type-in-oracle-23c-ai