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

डेटाबेस डिजाइन:सूची और बिक्री प्रणाली?

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

  • एसकेयू यह उन चीजों की सूची है जो आप बेचते हैं। इसकी संपत्तियों में उत्पाद विवरण और वर्तमान खुदरा मूल्य जैसी चीजें शामिल होंगी। आप एक चाइल्ड टेबल में फैंसी और ब्रेक प्राइस प्राप्त कर सकते हैं जो समय के साथ कीमतें देता है। आइए मान लें कि आप उस शिकन को अभी के लिए छोड़ने जा रहे हैं। आप जिस प्रकार की बात कर रहे हैं, कुछ SKU "कॉम्बो" हो सकते हैं।

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

  • रचना यह एक BOM है जो SKU और COMPOENT को प्रतिच्छेद करता है और कहता है कि SKU की एक इकाई में प्रत्येक कंपोनेंट की कितनी इकाइयाँ जाती हैं। आपको इनमें से एक की आवश्यकता दो SKU को भी (कॉम्बो के लिए) प्रतिच्छेद करने के लिए है। इसके लिए आप या तो एक टेबल या दो टेबल का इस्तेमाल कर सकते हैं। दो टेबल शुद्धतावादियों को खुश रखेंगे, एक टेबल कोडर की दृष्टि से समीचीन होगी।

  • बिक्री यह एक लेन-देन तालिका है जो एक या अधिक SKU की बिक्री रिकॉर्ड करने के लिए एक शीर्षलेख प्रदान करती है। इस तालिका में लेन-देन की तारीख, कैशियर आईडी और अन्य हेडर आइटम जैसी चीजें होंगी।

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

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

  • INVENTORY_DTL यह एक इन्वेंट्री लेनदेन का विवरण है। यह इंगित करता है कि कौन सा कंपोनेंट अंदर या बाहर जा रहा है, कितनी मात्रा में अंदर या बाहर गया, और INVENTORY_HDR लेनदेन जिस पर यह आंदोलन लागू हुआ। यह वह जगह भी होगी जहां आप घटक मद के लिए भुगतान की गई वास्तविक लागत रखते हैं।

  • स्थान आप (यदि आप चाहें) उस इन्वेंट्री के भौतिक स्थान को भी ट्रैक कर सकते हैं जिसे आप प्राप्त करते हैं और उपयोग / बेचते हैं। एक रेस्तरां में यह महत्वपूर्ण नहीं हो सकता है, लेकिन यदि आपके पास एक श्रृंखला है या यदि आपके रेस्तरां में घटक सामग्री के लिए एक ऑफसाइट गोदाम है तो आप परवाह कर सकते हैं।

निम्नलिखित ईआरडी पर विचार करें:

अपनी आय का लेखा-जोखा करने के लिए आप SALE_ITEM तालिका में दर्ज धन को जोड़ रहे होंगे।

स्टॉक स्तरों की गणना की जाती है प्रत्येक घटक के लिए INVENTORY_DTL ins और outs जोड़ने के आधार पर। (मौजूदा स्टॉक स्तरों को किसी तालिका में संग्रहीत न करें - यह समाधान समस्याओं का कारण बनता है।)

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जितनी जल्दी हो सके एक MySQL डेटाबेस में बहुत बड़ी संख्या में रिकॉर्ड कैसे डालें?

  2. MySQL कनेक्टर त्रुटि सर्वर समय क्षेत्र मान मध्य यूरोपीय समय

  3. पोस्ट में इमेज एल्बम कैसे प्रदर्शित करें? [केवल PHP और MYSQL का उपयोग करके]

  4. PHP और MySQL के साथ मेरे हैश को सलाम करना

  5. php और mysql के साथ utf8mb4 का उपयोग करना