Cette version passionnante du laboratoire sur le type de données booléen pour Oracle Database 23c AI introduit la prise en charge native du type de données booléen, un véritable changement de jeu pour les développeurs de bases de données. Avec cette amélioration, vous pouvez représenter nativement true, false et null valeurs, simplifiant ainsi la modélisation des données et rendant le développement SQL et PL/SQL plus efficace.
Pour illustrer, recréons un scénario impliquant un Système d’Information Étudiant, où nous suivrons si les étudiants sont actuellement inscrits à des cours en utilisant le nouveau type de données booléen.
Cette fonctionnalité améliore la productivité des développeurs et rend Oracle Database plus intuitif à utiliser.
Création d’une table avec le type de données booléen
Nous commencerons par créer une table STUDENTS
qui inclut une colonne booléenne nommée 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
);
Insertion de données avec des valeurs booléennes
Maintenant, peuplons la table avec des données d’exemple en utilisant différents littéraux booléens :
-- 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 mappe diverses entrées, comme 'yes'
, 'no'
, 1
, et 0
à leurs valeurs booléennes correspondantes. Vérifions les données :
SELECT student_id, name, course, currently_enrolled
FROM students;
Interrogation des données booléennes
Trouver les étudiants actuellement inscrits
Pour récupérer les étudiants qui sont actuellement inscrits :
SELECT student_id, name, course
FROM students
WHERE currently_enrolled = TRUE;
Opérations logiques sur les colonnes booléennes
Les valeurs booléennes permettent des opérations logiques directes. Par exemple, filtrer les étudiants considérés comme « inscrits activement » :
SELECT student_id, name, course
FROM students
WHERE currently_enrolled AND TRUE;
Trouver des étudiants non inscrits
Pour identifier les étudiants qui ne sont pas actuellement inscrits :
SELECT student_id, name, course
FROM students
WHERE NOT currently_enrolled;
Combiner la logique booléenne avec d’autres conditions
Récupérons les étudiants qui sont soit inscrits, soit dont les noms commencent par ‘A’ :
SELECT student_id, name, course
FROM students
WHERE currently_enrolled OR name LIKE 'A%';
Mise à jour des valeurs booléennes
Marquer un étudiant comme inscrit
Supposons que nous souhaitions mettre à jour le statut d’inscription de Bob :
UPDATE students
SET currently_enrolled = TRUE
WHERE student_id = 2;
-- Verify the update
SELECT name, currently_enrolled
FROM students
WHERE student_id = 2;
Utilisation de PL/SQL avec le type de données booléen
PL/SQL s’intègre parfaitement avec le nouveau type de données booléen. Ajoutons un nouvel étudiant :
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;
Validons les données nouvellement insérées.
Conclusion
L’introduction du type de données booléen dans Oracle Database 23c AI simplifie la conception de bases de données et améliore la lisibilité et la maintenabilité de votre code SQL et PL/SQL. Réduire la dépendance aux solutions de contournement comme les codes numériques ou de caractères permet aux développeurs d’écrire des requêtes plus claires et plus intuitives.
Que ce soit pour gérer un Système d’Information Étudiant ou toute autre application, le type de données booléen rend la gestion des valeurs logiques simple et robuste. Obtenez une expérience pratique dès aujourd’hui et découvrez comment cette fonctionnalité peut améliorer vos projets de base de données.
Source:
https://dzone.com/articles/exploring-the-new-boolean-data-type-in-oracle-23c-ai