Deze spannende release van de Boolean Data Type Lab voor Oracle Database 23c AI introduceert native ondersteuning voor het booleaanse datatype, een game-changer voor database-ontwikkelaars. Met deze verbetering kun je native waarden waar, onwaar en null vertegenwoordigen, wat het datamodel vereenvoudigt en de ontwikkeling van SQL en PL/SQL efficiënter maakt.
Om dit te illustreren, laten we een scenario recreëren met een Studenten Informatie Systeem, waarin we bijhouden of studenten momenteel ingeschreven zijn voor cursussen met behulp van het nieuwe booleaanse datatype.
Deze functie verhoogt de productiviteit van ontwikkelaars en maakt Oracle Database intuïtiever in gebruik.
Een Tabel Maken Met het Booleaanse Datatype
We beginnen met het maken van een STUDENTS
tabel die een booleaanse kolom bevat genaamd 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
);
Gegevens Invoegen Met Booleaanse Waarden
Laten we nu de tabel vullen met voorbeeldgegevens met behulp van verschillende booleaanse literaalwaarden:
-- 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 koppelt verschillende invoer, zoals 'ja'
, 'nee'
, 1
en 0
aan hun overeenkomstige booleaanse waarden. Laten we de gegevens verifiëren:
SELECT student_id, name, course, currently_enrolled
FROM students;
Booleaanse Gegevens Opvragen
Huidig Ingeschreven Studenten Vinden
Om studenten op te halen die momenteel ingeschreven zijn:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled = TRUE;
Logische Operaties op Booleaanse Kolommen
Booleaanse waarden maken directe logische bewerkingen mogelijk. Bijvoorbeeld, het filteren van studenten die als “actief ingeschreven” worden beschouwd:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled AND TRUE;
Niet-ingeschreven Studenten Vinden
Om studenten te identificeren die momenteel niet ingeschreven zijn:
SELECT student_id, name, course
FROM students
WHERE NOT currently_enrolled;
Booleaanse Logica Combineren Met Andere Voorwaarden
Laten we studenten ophalen die ingeschreven zijn of wiens namen beginnen met ‘A’:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled OR name LIKE 'A%';
Booleaanse Waarden Bijwerken
Een Student Markeren Als Ingeschreven
Stel dat we Bob’s inschrijvingsstatus willen bijwerken:
UPDATE students
SET currently_enrolled = TRUE
WHERE student_id = 2;
-- Verify the update
SELECT name, currently_enrolled
FROM students
WHERE student_id = 2;
PL/SQL Gebruiken Met Booleaanse Gegevenstype
PL/SQL integreert naadloos met het nieuwe booleaanse gegevenstype. Laten we een nieuwe student toevoegen:
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;
Laten we de nieuw ingevoerde gegevens valideren.
Conclusie
De introductie van het booleaanse gegevenstype in Oracle Database 23c AI vereenvoudigt het databaseontwerp en verbetert de leesbaarheid en onderhoudbaarheid van uw SQL- en PL/SQL-code. Het verminderen van de afhankelijkheid van omwegen zoals numerieke of karaktercodes stelt ontwikkelaars in staat om schonere en intuïtievere queries te schrijven.
Of het nu gaat om het beheren van een Student Informatiesysteem of een andere toepassing, het booleaanse gegevenstype maakt het omgaan met logische waarden eenvoudig en robuust. Krijg vandaag nog praktische ervaring en ontdek hoe deze functie uw databaseprojecten kan verbeteren.
Source:
https://dzone.com/articles/exploring-the-new-boolean-data-type-in-oracle-23c-ai