CRUD क्या है? Create, Read, Update, Delete आसान भाषा में
CRUD का मतलब है create, read, update और delete: किसी ऐप के सहेजे गए डेटा के साथ किए जाने वाले चार बुनियादी काम। नया ग्राहक जोड़ना create है, ग्राहकों की सूची देखना read है, उनका फ़ोन नंबर बदलना update है, और उन्हें हटाना delete है। ज़्यादातर बिज़नेस ऐप्स, जैसे CRM, बुकिंग सिस्टम, इन्वेंटरी ट्रैकर और एडमिन पैनल, मुख्य रूप से CRUD ही होते हैं, जिसके ऊपर नियम और अच्छा लेआउट होता है।
AI से ऐप बनाते समय यह क्यों मायने रखता है
CRUD वह शब्दावली है जो एक धुंधले ऐप विचार को सटीक अनुरोध में बदल देती है। “हमारे सप्लायर्स को मैनेज करने वाला ऐप” कहने पर AI को अंदाज़ा लगाना पड़ता है। “इन फ़ील्ड के साथ सप्लायर बनाओ, सूची दिखाओ, संपादित करो और हटाओ” कहने से वह बिल्कुल जानता है कि कौन सी स्क्रीन, डेटाबेस ऑपरेशन और सर्वर रूट बनाने हैं।
यह टेस्टिंग के लिए एक चेकलिस्ट भी देता है। अपने ऐप में हर तरह के रिकॉर्ड के लिए आप चार सवाल पूछ सकते हैं: क्या मैं एक जोड़ सकता हूँ, उन्हें देख सकता हूँ, एक को बदल सकता हूँ और एक को हटा सकता हूँ, और क्या हर काम सिर्फ़ सही लोग ही कर सकते हैं? कई AI से बने ऐप्स में रिकॉर्ड बन तो जाते हैं पर बदले नहीं जा सकते, या कोई भी कुछ भी हटा सकता है।
एक रोज़मर्रा की मिसाल: रेसिपी कार्ड का बॉक्स
किचन की शेल्फ़ पर रखे रेसिपी कार्ड्स के एक डिब्बे की कल्पना कीजिए।
- Create: एक नया कार्ड लिखकर उसे डिब्बे में लगाना।
- Read: डिब्बे के कार्ड पलटना, या लज़ानिया वाला कार्ड निकालना।
- Update: “200g पनीर” को काटकर “250g” लिखना।
- Delete: कोई कार्ड निकालकर फेंक देना।
अब नियम जोड़िए: सिर्फ़ मुख्य रसोइया कार्ड फेंक सकता है, हर कार्ड पर शीर्षक होना ज़रूरी है, और एक ही नाम के दो कार्ड नहीं लगाए जा सकते। यही है वैलिडेशन और अनुमतियों वाला CRUD ऐप, और ज़्यादातर असली ऐप्स यही होते हैं।
हर लेयर में CRUD कैसे दिखता है
हर ऑपरेशन स्क्रीन, सर्वर और डेटाबेस, तीनों में दिखता है। इन्हें साथ-साथ देखने से समझ आता है कि ऐप्स कैसे बनते हैं।
| ऑपरेशन | स्क्रीन पर | API अनुरोध (REST) | डेटाबेस में SQL |
|---|---|---|---|
| Create | एक “New” बटन और एक फ़ॉर्म | POST /api/suppliers | INSERT |
| Read | खोज और फ़िल्टर वाली सूची; विवरण पेज | GET /api/suppliers और GET /api/suppliers/42 | SELECT |
| Update | एक “Edit” फ़ॉर्म या इनलाइन एडिटिंग | PUT या PATCH /api/suppliers/42 | UPDATE |
| Delete | पुष्टि के साथ एक “Delete” बटन | DELETE /api/suppliers/42 | DELETE (या पंक्ति को deleted चिह्नित करना) |
स्क्रीन फ़्रंटएंड है, API अनुरोध यह है कि फ़्रंटएंड बैकएंड से कैसे बात करता है, और SQL यह है कि बैकएंड डेटाबेस से कैसे बात करता है। अगर ये शब्द नए हैं, तो देखें API क्या है और डेटाबेस क्या है।
एक उदाहरण: उपकरण उधार ट्रैकर
एक स्कूल का मीडिया विभाग छात्रों को कैमरे और माइक्रोफ़ोन उधार देता है, और उनका हिसाब अक्सर खो जाता है। उन्हें एक सरल ऐप चाहिए।
रिकॉर्ड। दो तरह की चीज़ें: उपकरण (नाम, प्रकार, सीरियल नंबर, हालत) और उधारी (कौन सा उपकरण, कौन सा छात्र, कब दिया, कब लौटाना है, कब लौटाया)।
उपकरणों के लिए CRUD:
- Create: स्टाफ़ सीरियल नंबर के साथ नया कैमरा जोड़ता है। नियम: सीरियल नंबर अनोखे होने चाहिए।
- Read: सभी उपकरणों की सूची, जो प्रकार और “अभी उपलब्ध” के आधार पर फ़िल्टर हो सके; एक उपकरण का उधारी इतिहास दिखाने वाला विवरण पेज।
- Update: हालत बदलकर “मरम्मत चाहिए” करना।
- Delete: आमतौर पर यह असली delete नहीं होता। अगर 30 पिछली उधारी वाला कैमरा हटाया गया, तो उन उधारी रिकॉर्ड्स का लिंक टूट जाएगा। इसके बजाय उसे “retired” चिह्नित करें, ताकि वह उपलब्ध सूची से गायब हो जाए, पर उसका इतिहास बना रहे। इसे soft delete कहते हैं।
उधारी के लिए CRUD:
- Create: एक उपकरण किसी छात्र को दें। नियम: जो उपकरण पहले से उधार पर है, उसे दोबारा नहीं दिया जा सकता।
- Read: “overdue उधारी”, यानी वह सूची जहाँ लौटाने की तारीख निकल गई है और लौटाने की तारीख दर्ज नहीं है।
- Update: उपकरण लौटने पर लौटाने की तारीख दर्ज करना।
- Delete: केवल स्टाफ़, गलती से दर्ज की गई उधारी के लिए।
अनुमतियाँ। छात्र सिर्फ़ यह पढ़ सकते हैं कि क्या उपलब्ध है; create, update या delete सिर्फ़ स्टाफ़ कर सकता है। ये जाँचें सर्वर पर चलती हैं, सिर्फ़ बटन छुपाकर नहीं।
बस यही पूरा ऐप है। दिलचस्प हिस्से, जैसे दोहरी उधारी न होना, overdue सूची और हर उपकरण का इतिहास, सादे CRUD के ऊपर के नियम और क्वेरी हैं।
मुख्य शब्द
- रिकॉर्ड (पंक्ति): एक आइटम, जैसे एक सप्लायर या एक उधारी।
- Entity / resource: रिकॉर्ड का एक प्रकार, जैसे “suppliers”। हर एक को आमतौर पर अपनी टेबल और CRUD स्क्रीन का अपना सेट मिलता है।
- वैलिडेशन: इनपुट की जाँच, जैसे ज़रूरी फ़ील्ड, सही ईमेल, सकारात्मक मात्रा। सुविधा के लिए इसे फ़ॉर्म में और सुरक्षा के लिए सर्वर पर करें।
- Soft delete: रिकॉर्ड को हटाने के बजाय deleted या archived चिह्नित करना, ताकि इतिहास और लिंक बने रहें।
- Pagination: लंबी सूची को एक बार में एक पेज दिखाना, ताकि ऐप तेज़ रहे।
- Audit log: यह दर्ज करना कि किसने, कब, क्या बनाया, बदला या हटाया।
- Admin panel: स्टाफ़ के लिए ऐप का डेटा मैनेज करने वाली CRUD स्क्रीन का सेट।
आम गलतियाँ और गलतफ़हमियाँ
- चार में से एक भूल जाना। ऐप्स अक्सर create और read के साथ आते हैं, पर edit नहीं होता, इसलिए हर टाइपो का मतलब होता है हटाकर फिर से लिखना। हर entity के लिए चारों जाँचें।
- ऐसे delete जो चीज़ें तोड़ दें। जो ग्राहक इनवॉइस वाला हो उसे हटाने से इनवॉइस अनाथ हो सकते हैं या इतिहास मिट सकता है। हर entity पर तय करें: delete रोकें, soft delete करें, या संबंधित रिकॉर्ड भी हटाएँ।
- अनुमतियाँ सिर्फ़ इंटरफ़ेस में। Delete बटन छुपाने से कोई
DELETEअनुरोध भेजना नहीं रुकता। सर्वर को जाँचना होगा कि माँग कौन रहा है। - ID से अपडेट करना, मालिकाना हक जाँचे बिना। अगर यूज़र A URL में संख्या बदलकर
/api/notes/42को संपादित कर सकता है, तो वह यूज़र B का नोट बदल सकता है। हर update और delete को पुष्टि करनी होगी कि रिकॉर्ड अनुरोध करने वाले का है। - Delete पर पुष्टि नहीं। एक गलत टैप से डेटा नहीं मिटना चाहिए। पुष्टि का कदम, या undo, रखें।
- “CRUD बुनियादी है, इसे बनाने लायक नहीं।” बहुत से कीमती प्रोडक्ट CRUD ऐप्स हैं जो किसी वर्कफ़्लो में सामान्य टूल से बेहतर फ़िट होते हैं।
अपने AI बिल्डर से क्या माँगें
हर entity के लिए, एक बार में एक, यह पैटर्न इस्तेमाल करें:
suppliers फ़ीचर बनाओ, जिसमें list, create, edit और delete हो। फ़ील्ड: name (ज़रूरी), contact email (सही ईमेल), phone, category (food, packaging, cleaning में से एक), notes। नाम से खोज और category से फ़िल्टर वाली सूची, प्रति पेज 20। delete से पहले पुष्टि लो; अगर किसी supplier के orders हैं, तो delete के बजाय archive करो। सिर्फ़ लॉग-इन स्टाफ़ create, edit या archive कर सके — यह सर्वर पर लागू करो।
फिर सभी चार ऑपरेशन टेस्ट करें, एक अनुमति वाले यूज़र के रूप में और एक ऐसे व्यक्ति के रूप में जिसे पहुँच नहीं होनी चाहिए। एक entity काम करने लगे, तब अगला जोड़ें। इंटरनल टूल कैसे बनाएँ दिखाता है कि CRUD स्क्रीन पूरे एडमिन ऐप में कैसे बनती हैं, और Postgres क्या है उस डेटाबेस को समझाता है जिस पर ये ज़्यादातर ऐप्स टिके होते हैं।
Mythex पर CRUD ऐप्स
CRUD ऐप्स उन चीज़ों में से हैं जो AI ऐप बिल्डर सबसे अच्छी तरह करते हैं, और Mythex भी इसका अपवाद नहीं है। चैट में entity और उसके फ़ील्ड बताएँ, और Mythex प्रोजेक्ट में एक Postgres डेटाबेस जोड़ता है, टेबल बनाता है, और लाइव प्रीव्यू में list, form और detail स्क्रीन बनाता है; फिर आप फ़्लो जाँचने के लिए /test चला सकते हैं। दस्तावेज़ों में एक starter prompt के साथ CRUD app recipe है, और इंटरनल टूल बिल्डर व डैशबोर्ड टेम्पलेट शुरू करने के अच्छे स्थान हैं।
सवाल
CRUD का पूरा नाम क्या है?
CRUD का मतलब है create, read, update और delete: नया रिकॉर्ड जोड़ना, रिकॉर्ड देखना, किसी रिकॉर्ड को बदलना और उसे हटाना। डेटा सहेजने वाला लगभग हर ऐप इन्हीं चार ऑपरेशन से बनता है।
CRUD ऐप क्या है?
CRUD ऐप वह ऐप है जिसका मुख्य काम फ़ॉर्म, सूचियों और विवरण पेजों के ज़रिए रिकॉर्ड संभालना है, जैसे CRM, इन्वेंटरी ट्रैकर, बुकिंग का एडमिन या जॉब बोर्ड का बैक ऑफ़िस। ज़्यादातर इंटरनल टूल और एडमिन पैनल CRUD ऐप्स होते हैं।
CRUD का REST APIs से क्या संबंध है?
एक आम REST API में create के लिए POST अनुरोध, read के लिए GET, update के लिए PUT या PATCH, और delete के लिए DELETE इस्तेमाल होता है। बैकएंड फिर मेल खाने वाला डेटाबेस ऑपरेशन चलाता है: INSERT, SELECT, UPDATE या DELETE।
क्या CRUD ऐप इतना सरल है कि उसकी कीमत न हो?
नहीं। बहुत सा उपयोगी बिज़नेस सॉफ़्टवेयर CRUD ही है, जिसके ऊपर अच्छे नियम, अनुमतियाँ और रिपोर्ट होती हैं। उसकी कीमत डेटा को अच्छी तरह मॉडल करने और वर्कफ़्लो में फ़िट होने में है, किसी अनोखी तकनीक में नहीं।