Database
 sql >> डेटाबेस >  >> RDS >> Database

स्वादिष्ट भोजन परोसना (और डेटा) - रेस्तरां के लिए एक डेटा मॉडल

रेस्टोरेंट चलाने में डेटाबेस डिज़ाइन की क्या भूमिका होती है? रेस्तरां डेटाबेस के लिए डेटा मॉडल कैसा दिख सकता है? इस लेख में पता करें।

रेस्टोरेंट में लोगों को रेडीमेड खाना परोसा जाता है. यह एक प्रकार का व्यवसाय है जो पूरी दुनिया में फल-फूल रहा है, और प्राय:बहुत अधिक चहल-पहल के साथ। लोग रेस्तरां में जाने में बहुत सहज महसूस करते हैं, और जब उनके अगले भोजन की बात आती है तो वे कई तरह के विकल्पों की अपेक्षा करने लगते हैं।

अकेले न्यूयॉर्क शहर में ही, 24,000 से अधिक भोजन प्रतिष्ठान हैं। इनमें टेकअवे (यानी पिज्जा, सब शॉप, चाइनीज टेकआउट), डेली, कैफे और बढ़िया डाइनिंग रेस्तरां शामिल हैं। निम्नलिखित कहावत रेस्तरां उद्योग पर बहुत अच्छी तरह फिट बैठती है; यह व्यावहारिक रूप से उनका सार्वभौमिक मिशन वक्तव्य है:

<ब्लॉकक्वॉट क्लास ="उद्धरण">

आप जो करते हैं वह इतनी अच्छी तरह से करें कि वे इसे फिर से देखना चाहें और अपने दोस्तों और परिवार को साथ लाएं।

वॉल्ट डिज़्नी

रेस्तरां को डेटाबेस की आवश्यकता क्यों है?

रेस्टोरेंट मैनेजमेंट कोई आसान काम नहीं है। जब दिन-प्रतिदिन के कार्यों पर नज़र रखने और उन्हें रोमांचक बनाने की बात आती है, तो यहां तक ​​​​कि सबसे अनुभवी रेस्तरां के पास भी इससे कहीं अधिक हो सकता है, जिसे वे आसानी से प्रबंधित कर सकते हैं। एक लाभदायक रेस्तरां चलाने के लिए इन्वेंट्री / स्टॉक का प्रबंधन करना, कचरे को कम करना, टेबल का प्रबंधन करना (विशेषकर पीक आवर्स में), ग्राहक के अनुकूल मेनू बनाए रखना, ऑर्डर को कुशलतापूर्वक निष्पादित करना और रेस्तरां के कर्मचारियों की देखरेख करना आवश्यक है। यह काफ़ी है!

एक रेस्तरां प्रबंधन प्रणाली को इनमें से अधिकांश गतिविधियों को न्यूनतम मैनुअल हस्तक्षेप के साथ करना चाहिए। इसे प्रबंधकों को सटीक जानकारी प्रस्तुत करनी होती है ताकि वे ग्राहकों को खुश रख सकें। इसका मतलब यह हो सकता है कि मेनू में और यहां तक ​​कि रेस्तरां के काम करने के तरीके में भी उचित बदलाव किए जाएं।

रेस्तरां डेटा मॉडल

यह लेख एक रेस्तरां (डाइन-इन या टेकअवे) के लिए एक पूर्ण डेटा मॉडल तैयार करने के बारे में है। हम उन दो बड़ी समस्याओं का भी समाधान करेंगे जिनका सामना रेस्टोरेंट व्यवसाय में लोग अपनी दिन-प्रतिदिन की गतिविधियों में करते हैं। अंत में, हम उन क्षमताओं को मौजूदा सिस्टम में बनाने के लिए आवश्यक परिवर्तनों के बारे में सोचेंगे।

जैसा कि हम डेटा मॉडल में गोता लगाते हैं, मैं कुछ उपयोगकर्ता भूमिकाओं का उल्लेख करूंगा। ये भूमिकाएं वास्तव में स्टाफ सदस्यों के लिए हैं, जैसे:

  • प्रबंधक - रेस्तरां के लिए इन्वेंट्री, पेरोल, कर्मचारी शेड्यूलिंग और मीट्रिक प्रबंधित करता है
  • होस्ट - मेहमानों को बैठाता है और टेबल पर सर्वर असाइन करता है
  • वेटर (सर्वर के रूप में भी जाना जाता है) - ग्राहकों के ऑर्डर को किचन में ले जाता है और तैयार ऑर्डर ग्राहक को डिलीवर करता है
  • पर्यवेक्षक (जिसे शेफ या हेड कुक के रूप में भी जाना जाता है) - रसोई में कार्यों का पर्यवेक्षण करता है और रसोइयों को कार्य सौंपता है
  • रसोइया - पर्यवेक्षक से प्राप्त आदेश विवरण पढ़ता है, भोजन तैयार करता है, और तैयार होने पर पर्यवेक्षक को सूचित करता है
  • बसबॉय - यह ट्रैक करता है कि किस टेबल का उपयोग किया जा रहा है; तालिकाओं को साफ करता है और आवश्यकतानुसार उनकी स्थिति को अद्यतन करता है

एक रेस्तरां व्यवसाय के लिए एक डेटा मॉडल में निम्नलिखित प्राथमिक विशेषताएं होनी चाहिए:

  • KOT (रसोई ऑर्डर टोकन) प्रबंधन
  • KOD (रसोई ऑर्डर डिलीवरी) प्रबंधन
  • मेनू प्रबंधन

आइए इनमें से प्रत्येक विशेषता को विस्तार से देखें।

KOT (रसोई ऑर्डर टोकन) प्रबंधन

यह हमारे डेटा मॉडल का सबसे महत्वपूर्ण हिस्सा है:यह विभिन्न चैनलों के माध्यम से ग्राहकों से ऑर्डर विवरण एकत्र करने के बारे में है। विभिन्न चैनल क्यों? क्योंकि ऐसे कई तरीके हैं जिनसे ऑर्डर किए जा सकते हैं - ऑनलाइन या मोबाइल ऐप के माध्यम से, फोन कॉल द्वारा, या वेटर या अन्य कर्मचारियों के माध्यम से। जब भी ग्राहक द्वारा कोई ऑर्डर दिया जाता है, तो एक KOT (रसोई ऑर्डर टोकन) उत्पन्न होता है। अंतत:किचन स्टाफ द्वारा केओटी तैयार किया जाएगा।

मैं एक टेबल बनाऊंगा, kot , प्रारंभिक आदेश विवरण रखने के लिए। इस तालिका में निम्नलिखित कॉलम हैं:


<थ>विवरण
स्तंभ का नाम
Id इस तालिका के लिए प्राथमिक कुंजी
order_channel_id वह चैनल जिसके माध्यम से ऑर्डर दिया जाता है।
dine_in_table_sitting_id वह तालिका जहां ऑर्डर की शुरुआत होती है। यह कॉलम केवल डाइन-इन ऑर्डर के मामले में भरा जाएगा।
order_in_time टाइमस्टैम्प जब ऑर्डर सिस्टम में लॉग इन किया जाता है
order_out_time किचन स्टाफ द्वारा ऑर्डर डिलीवर करने का टाइमस्टैम्प
staff_id आदेश लेने वाले व्यक्ति की आईडी। डाइन-इन ऑर्डर के मामले में, यह कॉलम ऑर्डर लेने वाले वेटर की आईडी रखता है। अन्य सेटिंग्स में, यह आईडी 'सिस्टम' होगी।
kot_status_id KOT की वर्तमान स्थिति को परिभाषित करता है।


मैं यह बताना चाहता हूं कि एक समय में एक टेबल से एकत्र किए गए ऑर्डर को एक kot_id के तहत टैग किया जाता है। . अगर वही टेबल बाद में और आइटम ऑर्डर करती है, तो सिस्टम एक और kot_id जेनरेट करेगा और उस आईडी के तहत इन सभी नए आइटम्स को टैग करेगा। अंत में, सभी kot_ids उसी तालिका के लिए अंतिम बिल में एक साथ जोड़ा जाएगा।

KOT प्रबंधन को अतिरिक्त स्थिर और लेन-देन संबंधी तालिकाओं की आवश्यकता होती है, जो हैं:

  • order_channel - इस तालिका में उन चैनलों के बारे में विवरण है जिनका उपयोग रेस्तरां ऑर्डर स्वीकार करने के लिए करता है। सामान्य उदाहरणों में शामिल हैं ऑनलाइन, भोजन करना, ले जाना (कैरी आउट), आदि।
  • dine_in_table_sitting - यह एक ट्रांजेक्शनल टेबल है जो टेबल ऑक्यूपेंसी डेटा को स्टोर करती है। इसके कॉलम में शामिल हैं dine_in_table_id , dine_in_time , dine_out_time , num_person_sitting , और customer_id . जैसे ही होस्ट एक ग्राहक को एक टेबल पर असाइन करता है और सिस्टम में जानकारी दर्ज करता है, इस टेबल में एक रिकॉर्ड डाला जाता है। किसी भी समय तालिकाओं की वर्तमान अधिभोग स्थिति प्राप्त करने के लिए, इस तालिका का उपयोग किया जाएगा।

    मान लीजिए आप इस सुविधा का निर्माण करना चाहते हैं। यहां SQL है जो आपको सभी रेस्तरां तालिकाओं के लिए वर्तमान अधिभोग स्थिति बताएगा:

    SELECT 
      b.id as table_id,
      c.area_desc,
      CASE 
        WHEN a.dine_in_table_id IS NULL THEN ‘VACANT’ 
        ELSE ‘OCCUPIED’
      END AS current_table_status
    FROM dine_in_table_sitting a, dine_in_table b, dine_in_table_area
    WHERE a.dine_in_table_id (+) = b.id
    	AND b.dine_in_table_area = c.id
    	AND a.dine_out_time IS NULL;
    

  • kot_status - इस तालिका में केओटी के लिए सभी संभावित स्थितियां हैं:आदेश प्राप्त हुआ , आदेश प्रक्रिया में है , आदेश दिया गया , आदि.
  • kot_menu_item - यह लेन-देन तालिका एक केओटी में सभी वस्तुओं का विवरण संग्रहीत करती है। यह KOT और एक menu_item . के बीच संबंध को भी परिभाषित करता है . menu_item_id और quantity kot_id . के सामने फ़ील्ड ऑर्डर पर आइटम को इंगित करें और इसकी कितनी आवश्यकता है।

KOD (रसोई ऑर्डर डिलीवरी) प्रबंधन

एक रेस्तरां कितना अच्छा प्रदर्शन करता है इसका एक बड़ा हिस्सा रसोई के अंदर केओटी के प्रबंधन के लिए उबलता है। आमतौर पर एक पर्यवेक्षक वेटर, अन्य कर्मचारियों या एक ऑनलाइन सिस्टम से केओटी एकत्र करता है। फिर पर्यवेक्षक एक या अधिक रसोइयों को मेनू आइटम सौंपता है। रसोइया वस्तुओं को तैयार करता है और उन्हें पर्यवेक्षक को सौंप देता है। फिर वेटर या कोई अन्य स्टाफ सदस्य ऑर्डर एकत्र करता है और ग्राहक को वितरित करता है।

लेकिन यह वह सब नहीं है जिसमें KOD प्रबंधन शामिल है। संसाधनों का प्रबंधन, सामग्री का भंडारण, शेष सूची को नियमित रूप से अद्यतन करना, और आवश्यकतानुसार नई सूची का अनुरोध करना भी रसोई के दैनिक संचालन का हिस्सा है। सुपरवाइजर रसोई के निर्बाध संचालन में प्रमुख भूमिका निभाता है, खासकर व्यस्त समय के दौरान। एक प्रणाली को 'स्मार्ट' या 'बुद्धिमान' माना जाता है यदि यह पर्यवेक्षक के कार्य कार्यों को दोहरा सकता है - जो कि अधिकांश स्थानों पर असंभव के करीब है।

इस जटिल प्रबंधन के लिए एक मॉडल बनाने के लिए, मैं KOD . इस तालिका में निम्नलिखित कॉलम हैं:


<थ>विवरण
स्तंभ का नाम
Id इस तालिका के लिए प्राथमिक कुंजी
kot_menu_item_id KOT आइटम को दर्शाता है जिस पर किचन स्टाफ वर्तमान में काम कर रहा है
staff_id आइटम तैयार करने वाले रसोइए की आईडी को स्टोर करता है
kod_status_id आइटम की वर्तमान स्थिति दिखाता है


मेनू प्रबंधन

यह घटक KOT और KOD प्रबंधन जितना ही महत्वपूर्ण है। मेनू - इसकी दृश्य प्रस्तुति और इसके द्वारा प्रदान किए जाने वाले व्यंजनों दोनों में - ग्राहकों को आकर्षित करने वाली पहली चीजों में से एक है। इसलिए हर रेस्टोररेटर अपने मेनू को यथासंभव आकर्षक रखने की कोशिश करता है।

आइए मेनू विवरण रखने के लिए एक और तालिका बनाएं। मैं उन सभी विवरणों के लिए कॉलम जोड़ूंगा जो हम आमतौर पर एक मेनू में देखते हैं:


<थ>विवरण
स्तंभ का नाम
Id तालिका की प्राथमिक कुंजी
Item_name मेनू आइटम का संक्षिप्त नाम
Item_category_id आइटम की व्यंजन श्रेणी को दर्शाता है:इतालवी, महाद्वीपीय, आदि।
Item_desc इसमें आइटम विवरण शामिल हैं, जैसे कि एक घटक सूची या आइटम कैसे तैयार किया जाता है (बेक्ड, स्टीम्ड, आदि)
Item_image आइटम की एक आकर्षक छवि।
cost वस्तु की लागत


डेटा के साथ रीयल-वर्ल्ड रेस्टोरेंट की समस्याओं का समाधान

खाद्य सेवा की दुनिया में कुछ समस्याएं बेहद आम हैं। विशेष रूप से, मैं लंबे प्रतीक्षा समय के बारे में सोच रहा हूं, दोनों एक मेज पर बैठने के लिए और अपना भोजन प्राप्त करने के लिए। रेस्तरां डेटा को बेहतर ढंग से व्यवस्थित और उपयोग करके इन समस्याओं को अक्सर कम से कम आंशिक रूप से हल किया जा सकता है।

डाइन-इन सेटिंग में, टेबल के लिए लंबा इंतजार करने की तुलना में कुछ चीजें ग्राहकों को अधिक परेशान करती हैं। व्यस्त समय के दौरान ग्राहकों के प्रतीक्षा समय को कम करने के लिए अलग-अलग तालिकाओं की स्थिति पर कड़ी नजर रखने की आवश्यकता होती है। यदि टेबल और स्टाफ का उचित प्रबंधन नहीं है, तो ग्राहक प्रतीक्षा समय बढ़ने लगता है। यदि प्रतीक्षा समय बहुत लंबा है, तो ग्राहक जा सकते हैं और किसी अन्य रेस्तरां की तलाश कर सकते हैं जो उन्हें जल्दी से सेवा प्रदान करेगा।

इस डेटा मॉडल में कुछ बदलाव करके इस चिंता का समाधान किया जा सकता है। ये परिवर्तन होंगे:

  1. वास्तविक समय तालिका प्रबंधन जोड़ें, तालिका उपलब्धता, स्थिति ट्रैकिंग और उपयोग दरों को प्रबंधित करने का एक डिजीटल तरीका।
  2. स्टाफ दक्षता को मापने और प्रभावी कार्यबल योजना को सक्षम करके टेबल टर्नअराउंड समय कम करें - उदाहरण के लिए, एक सफाई दल को इकट्ठा करके और कर्मचारियों को एक टेबल या टेबल के समूह में असाइन करके।
  3. प्रबंधकों की स्क्रीन पर अलग-अलग तालिकाओं की रीयल-टाइम स्थिति प्रकाशित करें, ताकि वे लंबे समय से लंबित किसी भी गतिविधि पर नज़र रख सकें।

एक और समस्या ग्राहकों को अपने भोजन के लिए इंतजार करने के लिए मजबूर कर रही है। डाइन-इन और टेकअवे दोनों ग्राहकों के लिए, सीधे डाइनर को स्थिति अपडेट प्रदान करके इसकी सहायता की जा सकती है। व्यक्तिगत केओटी की स्थिति की निगरानी यहां महत्वपूर्ण है। जैसे-जैसे KOT रसोई में आगे बढ़ता है, इसकी स्थिति KOT टेबल। यह तंत्र ग्राहकों को उनके ऑर्डर की स्थिति के बारे में रीयल-टाइम अपडेट देता है।




हम इस रेस्टोरेंट डेटा मॉडल को बेहतर कैसे बना सकते हैं?

रेस्तरां मालिक और संचालक अपने ग्राहकों को आकर्षित करने और बनाए रखने के लिए बहुत सारे नए विचार लेकर आ रहे हैं। उदाहरण के लिए:

  • कई ग्राहक वफादारी कार्यक्रम चलाते हैं। ये ग्राहकों के लिए एक वफादारी खाता बनाए रखते हैं और मेहमानों को प्रत्येक यात्रा, खरीद आदि के लिए अंक देते हैं। डाइनर इन बिंदुओं को विभिन्न पुरस्कारों के लिए और जब चाहें नकद कर सकते हैं (आमतौर पर कुछ मुफ्त भोजन, उनके चेक से एक प्रतिशत, या एक मुफ्त भोजन) ।
  • कुछ भोजनालय अपने मेनू आइटम को यथासंभव अनुकूलन योग्य बनाते हैं। वे अपने भोजन करने वालों को सलाद या पास्ता के लिए सामग्री चुनने की अनुमति देते हैं, या वे कुछ आहार प्रतिबंधों को पूरा करने के लिए खाद्य पदार्थों को प्रतिस्थापित करते हैं।

इन्वेंटरी प्रबंधन एक अन्य क्षेत्र है जो एक रेस्तरां को लाभदायक बनाने में एक प्रमुख भूमिका निभाता है।

क्या हम इन क्षमताओं को इस डेटा मॉडल में बना सकते हैं? अपने विचार नीचे कमेंट सेक्शन में साझा करें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस डिजाइन Vertabelo . के साथ

  2. टकराव के बिना यादृच्छिक पूर्णांक उत्पन्न करें

  3. समस्या निवारण:बहुत अधिक रीडायरेक्ट

  4. SQL इंजेक्शन के विरुद्ध JDBC एप्लिकेशन की सुरक्षा कैसे करें

  5. क्रिस्टल रिपोर्ट्स से सेल्सफोर्स SOQL