How to model Open/Closed statuses in a database? -


कल्पना कीजिए कि मेरे पास कॉलम ऑर्डरआईडी (पीके), कस्टमरआईडी, ग्राहक ऑर्डर एन के साथ एक ऑर्डर की मेज है। अब मुझे ऑर्डर बंद करने के एक कारण को निर्दिष्ट करने के लिए "बंद" ऑर्डर करने की संभावना जोड़नी होगी (उदाहरण के लिए "ग्राहक की पेशकश की गई कीमत बहुत अधिक है", "उपलब्ध नहीं", "ग्राहक ने आदेश बंद करने को कहा")।

प्रश्न 1। डेटाबेस डिजाइन में इसे लागू करने का सबसे अच्छा और सही तरीका क्या होगा?

मुझे लगता है कि सबसे अच्छा तरीका है बंद कॉलम बनाने के लिए शून्य हो सकता है (यदि आदेश खुले है) और यदि नल नहीं है (यानी यदि ऑर्डर बंद है) तो मूल्य एक अन्य तालिका ऑर्डर क्लासेज़ रेजिज़न को इंगित करता है

प्रश्न 2। यदि पहले से ही मेरे पास है I) आदेश तालिका में बंद हुआ एक बूलीयन कॉलम, और अब मुझे बंद होने के कारणों को निर्दिष्ट करने की संभावना को कार्यान्वित करने की आवश्यकता है I मैं बहुत ज्यादा रिफैक्टर नहीं कर सकता क्योंकि सिस्टम पहले से बहुत छोटा नहीं है, इसलिए डेटाबेस स्कीम को रिफैक्टर करना कठिन है। ऐसे मामले में बंद करने के कारणों को निर्दिष्ट करने की संभावना जोड़ने का सबसे अच्छा तरीका क्या होगा?

मुझे लगता है कि अगर मैं सिर्फ ऑर्डर तालिका में CloseReasonID कॉलम जोड़ता हूं तो यह अच्छा नहीं होगा। लेकिन मुझे यकीन नहीं है।

आपको पहले से धन्यवाद।

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

दूसरी तरफ, यदि आपको खोज आदि की ज़रूरत नहीं है, तो आप बस एक कॉलम बंद कर सकते हैं, और दूसरा कॉलम जो बताता है कि इसे बंद क्यों किया गया था।


Comments

Popular posts from this blog

email - PHP mail error ... failed to open stream : permission denied -

c# - ListView onScroll event -

c - Linux mmap() error -