نادرًا ما يكتمل تصميم قاعدة بيانات للتطبيقات بدون إنشاء علاقات بين الجداول. يسمح لك محرر قاعدة بيانات AppMaster بإجراء مثل هذه العلاقة في خطوة واحدة بسيطة. تحتاج فقط إلى رسم خط ارتباط بين الجداول ثم تحديد نوع العلاقة (واحد لواحد ، رأس بأطراف ، متعدد بأطراف) ، وإذا لزم الأمر ، أسماء الحقول. ولكن ماذا لو كان يجب أن يشير الجدول إلى نفسه؟
دعنا نحلل الموقف عندما يكون من الضروري الاحتفاظ بسجل معين من السجلات. في الوقت نفسه ، يتم تنظيمها بطريقة يتم فيها إنشاء السجلات بدقة في سلسلة. يجب ربط كل إدخال بالإدخال السابق واللاحق (باستثناء الإدخال الأول والأخير بالطبع). وبالتالي ، يمكن تتبع السلسلة بأكملها لكل سجل فردي ، ويتلقى النظام حماية إضافية ضد التغييرات غير المصرح بها.
تصميم قاعدة البيانات
أولاً ، نحتاج إلى إنشاء النموذج نفسه في مصمم قاعدة البيانات. دعنا Journal ونضيف حقل نصي واحد ، record .
الخطوة التالية هي إنشاء اتصال. للقيام بذلك ، انقر بزر الماوس الأيمن في أي مكان على اللوحة وحدد Create relation .
الخطوة التالية هي إعداد الاتصال. للقيام بذلك ، تحتاج إلى تحديد نفس الطراز مثل Source Target (في هذه الحالة ، دفتر Journal ) ، وتعيين أسماء الحقول ( next previous ) ، ونوع الاتصال ( has_one ).
اكتمل إعداد جدول المرجع الذاتي. يمكنك البدء في إنشاء تصميم الواجهة الأمامية وعمليات الأعمال.
خلق العملية التجارية
لنقم بإنشاء عملية أعمال خلفية لإضافة إدخالات جديدة إلى المجلة. سيتلقى نص الإدخال الجديد كمعامل إدخال. سيؤدي هذا إلى البحث في قاعدة البيانات عن أحدث إدخال لربطه بالإدخال الجديد. للبحث ، يمكنك تعيين _Limit = 1 (لأن هناك حاجة إلى سجل أخير واحد فقط) ، وهذا سيكون كافيًا لأنه ، بشكل افتراضي ، سيتم ترتيب السجلات حسب المعرف وإصدارها بترتيب إضافتها إلى قاعدة البيانات ، بدءًا من السجل الأخير.
ستكون نتيجة البحث مصفوفة تتكون من عنصر واحد. نحتاج إلى استخراجه باستخدام كتلة Array Element مع index 0 وتشكيل إدخال دفتر يومية جديد ( Make Journal ). الخطوة الأخيرة هي فقط الكتابة إلى قاعدة البيانات ( DB: Create Journal ) وإكمال عملية الأعمال.
يمكن استخدام عملية الأعمال هذه لنقطة النهاية الافتراضية لإنشاء سجلات قاعدة بيانات جديدة.
تصميم الواجهة الأمامية
بالنسبة للواجهة الأمامية لتطبيق الويب ، يكفي إضافة ثلاثة عناصر إلى الصفحة.
- حقل نصي لإدخال محتوى الإدخال الجديد
- زر لإضافة إدخال
- جدول لعرض كافة الإدخالات.
بالنسبة للزر "ADD Journal Record" ، تحتاج أيضًا إلى إنشاء عملية تجارية بسيطة. عند النقر فوق الزر ، يجب إرسال النص من حقل الإدخال إلى نقطة النهاية لإنشاء سجلات جديدة ، ويتم النقر فوق زر آخر لتحديث محتويات الجدول كإجراء أخير.
بالنسبة للجدول نفسه ، من المفيد أيضًا إعداد العمليات التجارية ، ولكن في هذا الدرس ، لن نتطرق إلى هذا الأمر. يمكن العثور على جميع المعلومات الضرورية في الدرس الخاص بإعداد الجداول . تجدر الإشارة فقط إلى أنه عند الحصول على البيانات ، تحتاج إلى تحديد _with مع المعلمة للحصول على البيانات من الجداول ذات الصلة (على الرغم من حقيقة أن الجدول مرتبط بنفسه في حالتنا).
يمكننا نشر التطبيق وإضافة بعض الإدخالات والتحقق من أن كل شيء يعمل بشكل صحيح. يرتبط كل إدخال بالفعل بإدخالات في نفس الجدول. على سبيل المثال ، بالنسبة للإدخال بالمعرف 3 ، يوجد ارتباط للإدخال السابق (المعرف 2) والإدخال التالي (المعرف 4).