हमारे पास बस स्टेशन डेटा है, और हम एक एप्लिकेशन बनाना चाहते हैं जो किसी दिए गए स्टार्ट स्टेशन और अंतिम स्टेशन के लिए लाइन / मल्टीपल लाइन प्रदान करेगा।
उदाहरण के लिए उपयोगकर्ता स्टेशन 1 से स्टेशन 2 तक बस लाइन सुझाव प्राप्त करने का प्रयास करें।
यदि एक बस लाइन है जो दोनों को कवर कर सकती है station1
और station2
, यह लाइन वापस आनी चाहिए। परिणाम इस तरह दिख सकता है:
Step1: station1 -- station2
अगर स्टेशन 1 और स्टेशन 2 के बीच कोई सीधी बस लाइन नहीं है, तो आवेदन को एक्सचेंज प्लान खोजने की कोशिश करनी चाहिए, उदाहरण के लिए, परिणाम इस तरह दिख सकता है:
Step1: station1 -- exchangestation
Step2: exchangestation -- station2
अब हमारे पास डेटा है, लेकिन हम यह नहीं जानते हैं कि डेटाबेस में डेटा मॉडल को कैसे डिज़ाइन किया जाए, क्वेरी को कुशल बनाने के लिए स्कीमा कैसे बनाया जाए?
=============================================
अपडेट करें:
उदाहरण के लिए, मेरे पास चार बस लाइनें हैं (वास्तव में दो) प्रत्येक एक अलग रंग के साथ:
l1: A-B-C-D
l2: D-B-A (in fact, the l2 is the reverse of l1 except the l2 will skip station `C`.
l3: E-B-D-F
l4: F-D-B-E(reverse of l3)
अब यदि हम डेटाबेस में इन सूचनाओं को एक स्टेशन से दूसरे स्टेशन को दिए गए बस लाइन प्लान की क्वेरी करने के लिए सहेजना चाहते हैं, तो हमें कितनी टेबल चाहिए और प्रत्येक टेबल में क्या रखना चाहिए?