Diese aufregende Version des Boolean Data Type Lab für Oracle Database 23c AI bietet native Unterstützung für den booleschen Datentyp, ein Game-Changer für Datenbankentwickler. Mit dieser Verbesserung können Sie boolesche Werte true, false und null nativ darstellen, was die Datenmodellierung vereinfacht und die SQL- und PL/SQL-Entwicklung effizienter macht.
Um dies zu veranschaulichen, werden wir ein Szenario mit einem Studenteninformationssystem nachstellen, in dem wir verfolgen, ob Studenten mit dem neuen booleschen Datentyp derzeit in Kursen eingeschrieben sind.
Diese Funktion erhöht die Produktivität der Entwickler und macht Oracle Database intuitiver in der Anwendung.
Erstellen einer Tabelle mit dem Boolean-Datentyp
Wir werden damit beginnen, eine STUDENTS
-Tabelle zu erstellen, die eine boolesche Spalte namens CURRENTLY_ENROLLED
enthält:
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
);
Einfügen von Daten mit booleschen Werten
Jetzt füllen wir die Tabelle mit Beispieldaten unter Verwendung verschiedener boolescher Literale:
-- 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 ordnet verschiedenen Eingaben wie 'yes'
, 'no'
, 1
und 0
ihre entsprechenden booleschen Werte zu. Lassen Sie uns die Daten überprüfen:
SELECT student_id, name, course, currently_enrolled
FROM students;
Abfragen von booleschen Daten
Auffinden der derzeit eingeschriebenen Studenten
Um Studenten abzurufen, die derzeit eingeschrieben sind:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled = TRUE;
Logische Operationen auf booleschen Spalten
Boolesche Werte ermöglichen direkte logische Operationen. Zum Beispiel das Filtern von Studenten, die als „aktiv eingeschrieben“ gelten:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled AND TRUE;
Finden von nicht eingeschriebenen Studenten
Um Studenten zu identifizieren, die derzeit nicht eingeschrieben sind:
SELECT student_id, name, course
FROM students
WHERE NOT currently_enrolled;
Kombinieren von Boolescher Logik mit anderen Bedingungen
Lass uns Studenten abrufen, die entweder eingeschrieben sind oder deren Namen mit ‚A‘ beginnen:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled OR name LIKE 'A%';
Aktualisieren von Booleschen Werten
Markieren eines Studenten als eingeschrieben
Angenommen, wir möchten Bobs Einschreibestatus aktualisieren:
UPDATE students
SET currently_enrolled = TRUE
WHERE student_id = 2;
-- Verify the update
SELECT name, currently_enrolled
FROM students
WHERE student_id = 2;
Verwendung von PL/SQL mit dem Booleschen Datentyp
PL/SQL integriert sich nahtlos mit dem neuen Booleschen Datentyp. Lass uns einen neuen Studenten hinzufügen:
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;
Lass uns die neu eingefügten Daten validieren.
Fazit
Die Einführung des Booleschen Datentyps in Oracle Database 23c AI vereinfacht das Datenbankdesign und verbessert die Lesbarkeit und Wartbarkeit deines SQL- und PL/SQL-Codes. Die Verringerung der Abhängigkeit von Umgehungslösungen wie numerischen oder Zeichencodes ermöglicht es Entwicklern, sauberere und intuitivere Abfragen zu schreiben.
Ob du ein Studenteninformationssystem oder eine andere Anwendung verwaltest, der Boolesche Datentyp macht den Umgang mit logischen Werten einfach und robust. Sammle heute praktische Erfahrungen und sieh, wie dieses Feature deine Datenbankprojekte verbessern kann.
Source:
https://dzone.com/articles/exploring-the-new-boolean-data-type-in-oracle-23c-ai