मुझे डेटाबेस में जटिल अनुसूची डेटा का प्रतिनिधित्व करने की कोशिश करने में एक दिलचस्प समस्या है। दिशानिर्देश के रूप में, मुझे iCalendar - ics
की संपूर्णता का प्रतिनिधित्व करने में सक्षम होना चाहिए - प्रारूप प्रतिनिधित्व कर सकता है, लेकिन डेटाबेस में। मैं वास्तव में ics
से संबंधित कुछ भी लागू नहीं कर रहा हूं, लेकिन यह मेरे विशेष प्रोजेक्ट के लिए मॉडल बनाने में सक्षम होने के नियमों के प्रकार का एक अच्छा दायरा देता है।डेटाबेस में जटिल अनुसूचित पुनरावृत्ति का प्रतिनिधित्व
मुझे एक एकल घटना या प्रति दिन कई बार, सप्ताह के दिनों, महीने के सप्ताह, महीने, वर्ष या उनमें से कुछ संयोजन के आधार पर आवर्ती घटना की अनुमति देने की अनुमति देने की आवश्यकता है। उदाहरण के लिए, नवंबर में तीसरा गुरुवार, या 25 दिसंबर, या हर दो सप्ताह 2 नवंबर से शुरू होता है और अगले वर्ष 8 सितंबर तक जारी रहता है।
मुझे सम्मिलन दक्षता की परवाह नहीं है लेकिन क्वेरी दक्षता महत्वपूर्ण है। ऑपरेशन जो मैं अक्सर कर रहा हूं वह या तो एक तिथि/समय या दिनांक/समय सीमा प्रदान कर रहा है, और यह निर्धारित करने की कोशिश कर रहा है कि परिभाषित अनुसूची दिनांक/समय सीमा के किसी भी हिस्से से मेल खाती है या नहीं। अन्य परिचालन धीमे हो सकते हैं। उदाहरण के लिए, 15 जनवरी, 2010 को सुबह 10:00 बजे 15 जनवरी, 2010 को 11:00 बजे के माध्यम से, उस समय के कम से कम हिस्से से मेल खाने वाले सभी शेड्यूल ढूंढें। (यानी एक शेड्यूल जो 10:30 - 11:00 को अभी भी मेल करता है।)
कोई सुझाव? मैंने How would one represent scheduled events in an RDBMS? पर देखा लेकिन इसमें पुनरावृत्ति नियमों के प्रकार के दायरे को शामिल नहीं किया गया है जिन्हें मैं मॉडल करना चाहता हूं।