Disponiamo di dati sulla stazione degli autobus e vogliamo creare un'applicazione che fornisca la linea / linea multipla per una data stazione di partenza e la stazione finale.
Ad esempio, l'utente tenta di ottenere un suggerimento sulla linea di autobus dalla stazione1 alla stazione2.
Se esiste una linea di autobus che può coprire entrambi station1e station2, questa linea deve essere restituita. Il risultato potrebbe essere simile al seguente:
Step1: station1 -- station2
Se non esiste una linea di autobus diretta tra station1 e station2, l'applicazione dovrebbe tentare di trovare il piano di scambio, ad esempio, il risultato potrebbe essere simile al seguente:
Step1: station1 -- exchangestation
Step2: exchangestation -- station2
Ora abbiamo i dati, ma non sappiamo come progettare il modello di dati nel database, come creare lo schema per rendere efficiente la query?
=============================================
Aggiornare:

Ad esempio, ho quattro linee di autobus (in realtà due) ognuna con un colore diverso:
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)
Ora, se vogliamo salvare queste informazioni nel database per eseguire una query sul piano della linea bus per una stazione assegnata a un'altra, allora quante tabelle sono necessarie e cosa dovrebbe essere inserito in ciascuna tabella?