मुझे हाल ही में एक काल्पनिक वेब आधारित बुकिंग सिस्टम पर एक साक्षात्कार प्रश्न पूछा गया था और मैं डुप्लिकेशंस को कम करने और लचीलापन को अधिकतम करने के लिए डेटाबेस स्कीमा कैसे डिज़ाइन करूंगा।डाटाबेस स्कीमा - बुकिंग/उपलब्धता प्रणाली
उपयोग का मामला यह है कि एक व्यवस्थापक सिस्टम में किसी संपत्ति की उपलब्धता दर्ज करेगा। कई समयावधि सेट हो सकता है। उदाहरण के लिए, 1 अप्रैल 200 9 से 14 अप्रैल 200 9 और 3 जुलाई 200 9 से 21 जुलाई 200 9 तक।
कोई उपयोगकर्ता केवल बराबर या छोटी अवधि के लिए उपलब्ध अवधि में बुकिंग करने में सक्षम होता है।
आप इस जानकारी को डेटाबेस में कैसे स्टोर करेंगे?
क्या आप कुछ सरल (वास्तव में सरलीकृत) के रूप में उपयोग करेंगे;
AVAILABILITY(property_id, start_date, end_date);
BOOKING(property_id, start_date, end_date);
क्या आप आसानी से एक वेब पेज बना सकते हैं जिसने रिक्त स्थान बुक किए गए समय के साथ उपलब्धता का कैलेंडर दिखाया। क्या इस डेटाबेस स्कीमा से रिपोर्ट बनाना आसान होगा? क्या ऐसा लगता है जितना आसान लगता है?
मैं बिल्कुल यह सुझाव देने जा रहा था। –
+1, यह वही है जो मैं ढूंढ रहा था। संपत्ति में अलग-अलग कमरे के लिए कोई सुझाव? –