तालिकाओं के बीच संबंध बनाए बिना अनुप्रयोगों के लिए डेटाबेस डिजाइन करना शायद ही कभी पूरा हो। AppMaster डेटाबेस संपादक आपको एक साधारण चाल में ऐसा संबंध बनाने की अनुमति देता है। आपको केवल तालिकाओं के बीच एक लिंक रेखा खींचने की आवश्यकता है और फिर संबंध के प्रकार (एक-से-एक, एक-से-अनेक, कई-से-अनेक) और, यदि आवश्यक हो, फ़ील्ड के नाम का चयन करें। लेकिन क्या होगा यदि तालिका को स्वयं को संदर्भित करना चाहिए?
आइए उस स्थिति का विश्लेषण करें जब रिकॉर्ड के एक निश्चित लॉग को बनाए रखना आवश्यक हो। साथ ही, इसे इस तरह व्यवस्थित किया जाता है कि रिकॉर्ड सख्ती से एक श्रृंखला में बनाए जाते हैं। प्रत्येक प्रविष्टि को पिछली और बाद की प्रविष्टि से जोड़ा जाना चाहिए (बिल्कुल पहली और अंतिम प्रविष्टि को छोड़कर)। इस प्रकार, प्रत्येक व्यक्तिगत रिकॉर्ड के लिए पूरी श्रृंखला को ट्रैक किया जा सकता है, और सिस्टम को अनधिकृत परिवर्तनों के विरुद्ध अतिरिक्त सुरक्षा प्राप्त होती है।
डेटाबेस डिजाइन
सबसे पहले, हमें डेटाबेस डिज़ाइनर में ही मॉडल बनाने की आवश्यकता है। आइए इसे Journal नाम दें और एक टेक्स्ट फ़ील्ड जोड़ें, record करें।
अगला कदम कनेक्शन बनाना है। ऐसा करने के लिए, कैनवास पर कहीं भी राइट-क्लिक करें और Create relation चुनें.
अगला कदम कनेक्शन स्थापित करना है। ऐसा करने के लिए, आपको Source और Target (इस मामले में, Journal ) के समान मॉडल का चयन करना होगा, फ़ील्ड नाम ( next और previous ), और कनेक्शन का प्रकार ( has_one ) सेट करना होगा।
स्व-संदर्भ तालिका सेटअप पूरा हो गया है। आप फ्रंट-एंड डिज़ाइन और व्यावसायिक प्रक्रियाएँ बनाना शुरू कर सकते हैं।
व्यवसाय प्रक्रिया बनाना
आइए जर्नल में नई प्रविष्टियाँ जोड़ने के लिए एक बैकएंड व्यवसाय प्रक्रिया बनाएँ। यह इनपुट पैरामीटर के रूप में नई प्रविष्टि का पाठ प्राप्त करेगा। यह नई प्रविष्टि के साथ संबद्ध करने के लिए नवीनतम प्रविष्टि के लिए डेटाबेस खोजेगा। खोज के लिए, आप _Limit = 1 सेट कर सकते हैं (क्योंकि केवल एक अंतिम रिकॉर्ड की आवश्यकता है), जो कि पर्याप्त होगा, डिफ़ॉल्ट रूप से, रिकॉर्ड्स को आईडी द्वारा ऑर्डर किया जाएगा और उन्हें डेटाबेस में जोड़े जाने के क्रम में जारी किया जाएगा, शुरुआत से अंतिम रिकॉर्ड।
खोज का नतीजा एक तत्व से युक्त एक सरणी होगा। हमें index 0 के साथ Array Element ब्लॉक का उपयोग करके इसे निकालने और एक नई जर्नल प्रविष्टि ( Make Journal ) बनाने की आवश्यकता है। अंतिम चरण केवल डेटाबेस ( DB: Create Journal ) को लिखना है और व्यवसाय प्रक्रिया को पूरा करना है।
नए डेटाबेस रिकॉर्ड बनाने के लिए इस व्यवसाय प्रक्रिया का उपयोग डिफ़ॉल्ट समापन बिंदु के लिए किया जा सकता है।
फ्रंट-एंड डिज़ाइन
वेब एप्लिकेशन के फ्रंट-एंड के लिए, पेज में तीन तत्वों को जोड़ना पर्याप्त है।
- नई प्रविष्टि की सामग्री दर्ज करने के लिए टेक्स्ट फ़ील्ड
- प्रविष्टि जोड़ने के लिए बटन
- तालिका सभी प्रविष्टियों को प्रदर्शित करने के लिए।
"ADD Journal Record" बटन के लिए, आपको एक साधारण व्यवसाय प्रक्रिया भी बनानी होगी। बटन पर क्लिक करने पर, इनपुट फ़ील्ड से टेक्स्ट को नए रिकॉर्ड बनाने के लिए समापन बिंदु पर भेजा जाना चाहिए, और अंतिम क्रिया के रूप में तालिका की सामग्री को अपडेट करने के लिए क्लिक करने के लिए एक और बटन।
तालिका के लिए, यह व्यावसायिक प्रक्रियाओं को स्थापित करने के लायक भी है, लेकिन इस पाठ में हम इस पर ध्यान नहीं देंगे। टेबल सेट करने के पाठ में सभी आवश्यक जानकारी मिल सकती है। यह केवल ध्यान देने योग्य है कि डेटा प्राप्त करते समय, आपको संबंधित तालिकाओं से डेटा प्राप्त करने के लिए _with पैरामीटर निर्दिष्ट करने की आवश्यकता होती है (इस तथ्य के बावजूद कि, हमारे मामले में, तालिका स्वयं से संबंधित है)।
हम एप्लिकेशन को प्रकाशित कर सकते हैं, कुछ प्रविष्टियां जोड़ सकते हैं और सत्यापित कर सकते हैं कि सब कुछ ठीक से काम कर रहा है। प्रत्येक प्रविष्टि वास्तव में उसी तालिका में प्रविष्टियों से संबंधित है। उदाहरण के लिए, आईडी 3 के साथ एक प्रविष्टि के लिए पिछली प्रविष्टि (आईडी 2) और अगली प्रविष्टि (आईडी 4) के लिए एक लिंक है।