إنتقل إلى المحتوى الرئيسي

منع التكرار والحجز المزدوج

الهدف​

اجعل الجدول يرفض نوعين من السجلات رفضًا قاطعًا:

  • التكرار — منتج ثانٍ بالرمز نفسه، شخص ثانٍ بالبريد الإلكتروني نفسه.
  • الحجز المزدوج — حجز ثانٍ للغرفة نفسها في وقت يتداخل مع حجز قائم، مناوبة ثانية للشخص نفسه في الوقت نفسه.

المتطلبات المسبقة​

  • سجّلت الدخول بدور مصمّم، والحل الذي يضم الجدول مفتوح.
  • لقاعدة عدم التداخل، يحتوي الجدول على حقلي تاريخ ووقت: بداية الفترة ونهايتها.

الخطوات​

  1. افتح الجدول واختر القيود من قائمته.
  2. أضف قاعدة:
    • بلا تكرار — ثم اختر الحقل. تُقرأ القاعدة: لا يجوز أن يتشارك سجلان القيمة نفسها في الرمز.
    • بلا تداخل — ثم اختر حقلي البداية والنهاية للفترة، وإن كان يجوز أن تتداخل حجوزات أشياء مختلفة فيما بينها، فالحقل الذي يحدد ما المحجوز: لا يجوز أن يتداخل سجلان زمنيًا، لكل غرفة، من البداية إلى النهاية. اترك المربع الأول على الجدول كله حين لا يوجد إلا شيء واحد يُحجز.
  3. اختر حفظ.

لإزالة قاعدة، اختر سلة المهملات في آخر سطرها ثم اختر حفظ.

ما يجري خلف الكواليس​

  • قاعدة البيانات هي التي تفرض هذه القواعد، لا النموذج. تسري مهما كانت طريقة كتابة السجل — في نموذج، أو باستيراد جدول بيانات، أو بنص برمجي، أو بعملية — وتسري حين يحفظ شخصان في اللحظة نفسها: ينجح حفظ ويُرفض الآخر. لا يستطيع فحص مكتوب في قاعدة عمل أن يضمن ذلك، لأن كلا الحفظين قد يقرأ «لا شيء بعد» قبل أن يكتب أيٌّ منهما.
  • السجل الذي تُرك حقله فارغًا ليس مكررًا. يجوز لأي عدد من السجلات ترك الحقل الفريد فارغًا. إن كان يجب ملء الحقل أيضًا، فاجعله مطلوبًا كذلك.
  • الفترات المتتالية لا تتداخل. الحجز الذي ينتهي عند 10:00 والحجز الذي يبدأ عند 10:00 مسموح بهما معًا.
  • يُخبَر من يحفظ بالقاعدة التي خالفها. يقول الحفظ المرفوض إن القيمة مستخدمة بالفعل في ذلك الحقل، أو إن الفترة تتداخل مع أخرى، ولا يُحفظ شيء.
  • تنتقل القواعد مع الحل، وتُفرض في كل بيئة يُستورد إليها الحل.

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

لا تُضاف القاعدة إلا إذا كانت السجلات الموجودة في الجدول تلتزم بها. إن كان منتجان يتشاركان الرمز بالفعل، يُرفض حفظ قاعدة بلا تكرار على الرمز برسالة تسمّي الحقل، ويحتفظ الجدول بقواعده السابقة. تبقى قاعدتك على الشاشة: صحّح السجلات، ثم اختر حفظ مرة أخرى.

استكشاف الأخطاء وإصلاحها​

  • منتقيات الفترة فارغة. — لا يحتوي الجدول على حقول تاريخ ووقت خاصة به. أضف حقلي البداية والنهاية أولًا.
  • حقل أريده غير معروض. — لا يمكن أن تكون الملفات والصور وحقول البحث في عدة جداول جزءًا من قاعدة: فهي لا تحمل قيمة واحدة يمكن مقارنتها. ولا تُعرض حقول المنصة مثل تاريخ الإنشاء أيضًا.
  • قاعدة أزلتها ما زالت ترفض الحفظ. — تأكد من أنك اخترت حفظ بعد إزالتها؛ فالقائمة تُحفظ كاملة.

سيناريوهات ذات صلة​