تقدم هذه النسخة المثيرة من مختبر نوع البيانات البوليانية لقاعدة بيانات Oracle 23c AI دعمًا أصليًا لنوع البيانات البوليانية، وهو تغيير كبير لمطوري قواعد البيانات. مع هذا التحسين، يمكنك تمثيل true و false و null قيم بشكل أصلي، مما يبسط نمذجة البيانات ويجعل تطوير SQL و PL/SQL أكثر كفاءة.
لتوضيح ذلك، دعنا نعيد إنشاء سيناريو يتضمن نظام معلومات الطلاب، حيث سنتتبع ما إذا كان الطلاب مسجلين حاليًا في الدورات باستخدام نوع البيانات البوليانية الجديدة.
تعمل هذه الميزة على تعزيز إنتاجية المطورين وتجعل قاعدة بيانات Oracle أكثر سهولة في الاستخدام.
إنشاء جدول مع نوع البيانات البوليانية
سنبدأ بإنشاء جدول STUDENTS
الذي يتضمن عمودًا بوليانيًا باسم 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
);
إدخال بيانات مع قيم بوليانية
الآن دعنا نملأ الجدول ببيانات عينة باستخدام ليتيرال بوليانية مختلفة:
-- 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 بربط مدخلات متنوعة، مثل 'yes'
و 'no'
و 1
و 0
بقيمها البوليانية المقابلة. دعنا نتحقق من البيانات:
SELECT student_id, name, course, currently_enrolled
FROM students;
استعلام البيانات البوليانية
البحث عن الطلاب المسجلين حاليًا
لاسترجاع الطلاب الذين هم مسجلون حاليًا:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled = TRUE;
العمليات المنطقية على الأعمدة البوليانية
تسمح القيم البوليانية بإجراء عمليات منطقية مباشرة. على سبيل المثال، تصفية الطلاب الذين يعتبرون “مسجلين بنشاط”:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled AND TRUE;
العثور على الطلاب غير المسجلين
لتحديد الطلاب الذين لا يتواجدون حاليًا في السجل:
SELECT student_id, name, course
FROM students
WHERE NOT currently_enrolled;
دمج المنطق البولياني مع شروط أخرى
دعنا نسترجع الطلاب الذين إما مسجلون أو تبدأ أسماؤهم بحرف ‘A’:
SELECT student_id, name, course
FROM students
WHERE currently_enrolled OR name LIKE 'A%';
تحديث القيم البوليانية
تحديد طالب على أنه مسجل
افترض أننا نريد تحديث حالة تسجيل بوب:
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 مع نوع البيانات البوليانية
PL/SQL يندمج بسلاسة مع نوع البيانات البوليانية الجديد. دعنا نضيف طالبًا جديدًا:
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;
دعونا نتحقق من صحة البيانات المدخلة حديثًا.
خاتمة
يساعد إدخال نوع البيانات البوليانية في Oracle Database 23c AI على تبسيط تصميم قاعدة البيانات وتحسين قابلية القراءة والصيانة لرمز SQL و PL/SQL الخاص بك. إن تقليل الاعتماد على الحلول البديلة مثل الرموز الرقمية أو الرموز الحرفية يمكّن المطورين من كتابة استعلامات أكثر وضوحًا وبديهية.
سواء كنت تدير نظام معلومات الطلاب أو أي تطبيق آخر، فإن نوع البيانات البوليانية يجعل التعامل مع القيم المنطقية سهلًا وقويًا. احصل على تجربة عملية اليوم، وانظر كيف يمكن أن ترتقي هذه الميزة بمشاريع قاعدة البيانات الخاصة بك.
Source:
https://dzone.com/articles/exploring-the-new-boolean-data-type-in-oracle-23c-ai