ما يجب أن تعرفه عن القيم NULL

فهم استخدام القيم الخالية لتجنب مشاكل قواعد البيانات

غالبًا ما يتم الخلط بين المستخدمين الجدد في عالم قواعد البيانات بقيمة خاصة خاصة بالحقل - قيمة NULL. يمكن العثور على هذه القيمة في حقل يحتوي على أي نوع من البيانات ولها معنى خاص جدًا في سياق قاعدة البيانات العلائقية. من الأفضل أن تبدأ مناقشتنا للغة الفارسية (NULL) ببضع كلمات حول ما هو NULL غير:

بدلاً من ذلك ، NULL هي القيمة المستخدمة لتمثيل جزء غير معروف من البيانات. في كثير من الأحيان ، سيستخدم مبرمجو قاعدة البيانات العبارة "قيمة فارغة" ، لكن هذا غير صحيح. تذكر: القيمة الفارغة هي قيمة مجهولة يظهر فيها الحقل فارغًا.

NULL في العالم الحقيقي

دعونا نلقي نظرة على مثال بسيط: جدول يحتوي على قائمة جرد لموقف فاكهة. لنفترض أن مخزوننا يحتوي على 10 تفاحات وثلاثة برتقال. نحن أيضا نصدر البرقوق ، لكن معلومات مخزوناتنا غير كاملة ولا نعرف كم عدد الخوخ (إن وجد) الموجود في المخزون. باستخدام قيمة NULL ، سيكون لدينا جدول الجرد الموضح في الجدول أدناه.

قائمة جرد الفاكهة

InventoryID بند كمية
1 تفاح 10
2 برتقال 3
3 برقوق لا شيء


من الواضح أنه سيكون غير صحيح لتضمين كمية 0 لسجل الخوخ ، لأن ذلك سيعني أنه ليس لدينا خوخ في المخزون. على العكس من ذلك ، قد يكون لدينا بعض الخوخ ، لكننا غير متأكدين.

إلى NULL أو NOT NULL؟

يمكن تصميم جدول إما للسماح بقيم فارغة أم لا.

فيما يلي مثال SQL الذي يقوم بإنشاء جدول Inventory يسمح لبعض NULLs:

SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL، VARCHAR Item (20) NOT NULL، Quantity INT)؛

لا يسمح الجدول المستودع هنا بقيم NULL لـ InventoryID وعمود " العنصر" ، ولكنه يسمح لها بعمود " الكمية ".

أثناء السماح قيمة NULL على ما يرام ، يمكن أن تتسبب قيم NULL في حدوث مشكلات نظرًا لأن أي مقارنة للقيم التي بها NULL تنتج دومًا في NULL.

للتحقق مما إذا كان الجدول الخاص بك يحتوي على قيم فارغة ، استخدم عامل التشغيل IS NULL أو IS NOT NULL. في ما يلي مثال على IS NULL:

SQL> SELECT INVENTORYID، ITEM، QUANTITY FROMITY INHENTORY where QUANTITY IS NOT NULL؛

بالنظر إلى مثالنا هنا ، سيعود هذا:

InventoryID بند كمية
3 برقوق

تعمل على NULLs

غالباً ما ينتج عن العمل بقيم NULL نتائج NULL ، بناءً على عملية SQL . على سبيل المثال ، بافتراض أن A هي NULL:

العوامل الحسابية

عوامل المقارنة

هذه ليست سوى بعض أمثلة عوامل التشغيل التي ستقوم دائمًا بإرجاع NULL إذا كان المعامل واحدًا NULL. توجد استعلامات أكثر تعقيدًا ، وكلها معقدة بقيم NULL. نقطة أخذ المنزل هي أنه إذا سمحت بالقيم الخالية في قاعدة البيانات الخاصة بك ، فافهم الآثار والتخطيط لها.

هذا هو NULL باختصار!