मैंने इस तरह की समस्याओं को कुछ बार देखा है और गैर-ओवरलैपिंग तरीके से श्रेणियों को संग्रहीत करने का सबसे अच्छा तरीका तय करने का प्रयास कर रहा हूं। उदाहरण के लिए, किसी प्रकार के संसाधन को शेड्यूल करते समय केवल एक ही व्यक्ति एक समय में उपयोग कर सकता है। ज्यादातर मैं क्या देखा है कुछ इस तरह है:गैर-ओवरलैपिंग श्रेणियों को संभालने की सुझाई गई विधि (उदा। शेड्यूलिंग)
PERSON ROOM START_TIME END_TIME
Col. Mustard Library 08:00 10:00
Prof. Plum Library 10:00 12:00
क्या एक मौजूदा शेड्यूल में ओवरलैप, का कहना है कि अगर मिस स्कारलेट 11:00 से पुस्तकालय को आरक्षित करना चाहता है की तरह से नई प्रविष्टियां को रोकने का सबसे अच्छा तरीका है 11:30? एक इनलाइन बाधा काम नहीं करेगी और मुझे नहीं लगता कि यह आसानी से ट्रिगर में किया जा सकता है। ऐसी प्रक्रिया जो सभी प्रविष्टियों को संभालती है जो प्रारंभ में तालिका में मौजूदा संघर्ष की तलाश में हैं?
दूसरा, समवर्ती मुद्दों को संभालने का सबसे अच्छा तरीका क्या है? कहें मिस स्कारलेट लाइब्रेरी को 13:00 से 15:00 तक चाहता है और श्रीमती व्हाइट इसे 14:00 से 16:00 तक चाहता है। (1) की प्रक्रिया को इन दोनों कार्यक्रमों को स्वीकार्य मिलेगा, लेकिन स्पष्ट रूप से एक साथ लिया जाएगा, वे नहीं हैं। एकमात्र चीज जिसे मैं सोच सकता हूं वह तालिका के मैन्युअल लॉकिंग या कुछ प्रकार के म्यूटेक्स है।
उपरोक्त तालिका के लिए एक अच्छी प्राथमिक कुंजी क्या है, (कमरा, start_time)? मामलों में, जहाँ आप समय अवधियों के लिए तय कर दी है
संभावित डुप्लिकेट [उपस्थिति डेटा कैप्चर करने के लिए स्कीमा को अनुकूलित करने का सबसे अच्छा तरीका क्या है] (http://stackoverflow.com/questions/3193227/what-is-the-best-way-to-optimize-chechema-for -कैप्चरिंग-उपस्थिति-डेटा) – APC