2011-10-04 13 views
7

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

प्रदाता: - पुनर्विक्रय उपलब्धता निर्दिष्ट करने में सक्षम हो। उदाहरण के लिए सोम 9-5, मंगल 10-3, आदि - डेटा को ब्लैक आउट करने में सक्षम हों। उदाहरण के लिए - इस सोम पर उपलब्ध नहीं है। - एकल जोड़ने, दिनांक/समय स्लॉट पुन: संसाधित करने में सक्षम हो। उदाहरण के लिए - यह शनि 9-5।

ग्राहक: - एकल नियुक्तियों को बुक करने में सक्षम हो। - पुन: आवर्ती नियुक्तियों को बुक करने में सक्षम हो। (हर सोम 9-4)। 30 मिनट के अंतराल में

  1. फूट डालो कार्यक्रम और प्रत्येक अंतराल/प्रदाता जोड़ी के लिए एक डेटाबेस प्रविष्टि बनाने:

    अब तक मैं 3 विकल्प के साथ आया था। प्रत्येक अंतराल या तो मुफ्त या बुक किया जा सकता है। जब कोई ग्राहक नियुक्ति बुक करता है तो हम अंतराल को बुक के रूप में चिह्नित करते हैं। इस दृष्टिकोण के साथ समस्या यह है कि यह बहुत सी जगह बर्बाद कर देता है, और मुझे यकीन नहीं है कि पुनर्विक्रय बुकिंग के लिए खोज प्रदर्शन कितना अच्छा होगा।

  2. प्रत्येक उपलब्धता अवधि को "ईवेंट" के रूप में सहेजें। यदि यह पुन: संसाधित हो रहा है, तो ईवेंट को डुप्लिकेट करें। नि: शुल्क स्लॉट की खोज करते समय यह सुनिश्चित करने के लिए बुकिंग तालिका खोजें कि बुकिंग पर कोई लेनदेन नहीं है। इस मामले में, reoccurring स्लॉट के लिए खोज थोड़ा अजीब लगता है। अगले वर्ष के लिए सोम 9-5 पर उपलब्ध सभी प्रदाताओं को खोजने के लिए हमें सभी मिलान करने वाली 'घटनाओं' की खोज करनी होगी और उन सभी प्रदाताओं को ढूंढना होगा जिनमें 52 मिलान किए गए कार्यक्रम हैं।
  3. प्रत्येक उपलब्धता अवधि को "ईवेंट" के रूप में सहेजें। यदि यह पुन: संसाधित हो रहा है तो ध्वज जोड़ें। जब मुफ्त स्लॉट की खोज हो रही है तो यह सुनिश्चित करने के लिए बुकिंग तालिका खोजें कि बुकिंग पर कोई लेनदेन नहीं है। यह पुन: आवर्ती नियुक्तियों की खोज करना आसान बनाता है। स्लॉट को "ब्लैक आउट" करने के लिए जो कि पुन: संसाधित होने का अनुमान है, हम केवल नकली बुकिंग डाल सकते हैं।

उत्तर

6

1. बनाएँ एक घटना तालिका:

क) के साथ बुनियादी स्तंभों EVENTDATE, StartTime, endtime, घटना के लिए अन्य विवरण के साथ - इन व्यस्त समय इसलिए कर रहे हैं कि तुम क्या कैलेंडर पर ब्लॉक कर रहे हैं

ख) घटनाक्रम आवर्ती - जोड़ने कॉलम: - isrecurring - recurrencetype (दैनिक, साप्ताहिक, मासिक) - - recurevery (जब पुनरावृत्ति हो जाएगा की गिनती) - 0 चूक सोम, मंगल, बुध, thur, fri, sat, sun - साप्ताहिक पुनरावृत्ति के लिए सप्ताह के दिन - महीना और दिन का महीना - मासिक पुनरावृत्ति के लिए

2. चुनौती तब होती है जब कैलेंडर पर पुनरावर्ती घटनाएं उत्पन्न होती हैं: - यदि आप एक बार में सभी को बनाते हैं (अगले 6 महीनों के लिए कहें), जब भी आप एक संपादित करते हैं दूसरों को अपडेट किया जाना है - यदि आप पिछली बार पास होने पर केवल एक ईवेंट बनाते हैं तो आपको भविष्य की तिथियों के लिए कैलेंडर प्रदर्शित करने के लिए जटिल तर्क की आवश्यकता होती है

3. आपको यह भी ध्यान रखने के लिए नियमों की आवश्यकता है कि घटनाओं की अनुमति है या नहीं एक दूसरे को ओवरलैप करें, किस संसाधन का उपयोग किया जाना है, घटनाओं को कितनी दूर निर्धारित किया जा सकता है

+0

क्या आप सहायता कर सकते हैं कि कैसे रिकवरी की संरचना टीएस टेबल योजना होगी। उपर्युक्त से कुल में समझ में नहीं आया –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^