غالبًا ما يتم الخلط بين المستخدمين الجدد في عالم قواعد البيانات بقيمة خاصة خاصة بالحقل - قيمة NULL. يمكن العثور على هذه القيمة في حقل يحتوي على أي نوع من البيانات ولها معنى خاص جدًا في سياق قاعدة البيانات العلائقية. من الأفضل أن نبدأ نقاشنا حول NULL مع بضع كلمات حول ما هو NULL ليس :
- NULL ليس الرقم صفر.
- لا تعد القيمة الفارغة (NULL) قيمة السلسلة الفارغة ("").
بدلاً من ذلك ، NULL هي القيمة المستخدمة لتمثيل جزء غير معروف من البيانات. في كثير من الأحيان ، سيستخدم مبرمجو قاعدة البيانات العبارة "قيمة فارغة" ، لكن هذا غير صحيح. تذكر: القيمة الفارغة هي قيمة مجهولة يظهر فيها الحقل فارغًا.
NULL في العالم الحقيقي
دعونا نلقي نظرة على مثال بسيط: جدول يحتوي على قائمة جرد لموقف فاكهة. لنفترض أن مخزوننا يحتوي على 10 تفاحات وثلاثة برتقال. كما نقوم بتخزين البرقوق ، لكن معلومات مخزوناتنا غير كاملة ولا نعرف كم عدد الخوخ الموجود (إن وجد). باستخدام قيمة NULL ، سيكون لدينا جدول الجرد الموضح في الجدول أدناه.
قائمة جرد الفاكهة
| InventoryID | بند | كمية |
| 1 | تفاح | 10 |
| 2 | برتقال | 3 |
| 3 | برقوق | لا شيء |
من الواضح أنه سيكون غير صحيح لتضمين كمية 0 لسجل الخوخ ، لأن ذلك سيعني أنه كان لدينا لا البرقوق في المخزون. على العكس من ذلك ، قد يكون لدينا بعض الخوخ ، لكننا لسنا متأكدين. يمكن تصميم جدول إما للسماح بقيم فارغة أم لا. فيما يلي مثال SQL الذي يقوم بإنشاء جدول Inventory يسمح لبعض NULLs: SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL، VARCHAR Item (20) NOT NULL، Quantity INT)؛ لا يسمح الجدول Inventory هنا قيم فارغة لـ InventoryID و ال بند الأعمدة ، ولكن يسمح لهم لل كمية عمود. أثناء السماح قيمة NULL على ما يرام ، يمكن أن تتسبب قيم NULL في حدوث مشكلات نظرًا لأن أي مقارنة للقيم التي بها NULL تنتج دومًا في NULL. للتحقق مما إذا كان الجدول الخاص بك يحتوي على قيم فارغة ، استخدم عامل التشغيل IS NULL أو IS NOT NULL. في ما يلي مثال على IS NULL: SQL> SELECT INVENTORYID، ITEM، QUANTITY FROMITY INHENTORY where QUANTITY IS NOT NULL؛ بالنظر إلى مثالنا هنا ، سيعود هذا: غالباً ما ينتج عن العمل بقيم NULL نتائج NULL ، بناءً على عملية SQL. على سبيل المثال ، بافتراض أن A هي NULL: العوامل الحسابية عوامل المقارنة هذه ليست سوى بعض الأمثلة من المشغلين التي سوف دائما إرجاع NULL إذا كان المعامل واحد NULL. توجد استعلامات أكثر تعقيدًا ، وكلها معقدة بقيم NULL. نقطة أخذ المنزل هي أنه إذا سمحت بالقيم الخالية في قاعدة البيانات الخاصة بك ، فافهم الآثار والتخطيط لها. هذا هو NULL باختصار!إلى NULL أو NOT NULL؟
InventoryID بند كمية 3 برقوق
تعمل على NULLs




