Wir haben Bushaltestellendaten und möchten eine Anwendung erstellen, die die Leitung / Mehrfachleitung für eine bestimmte Startstation und die Endstation bereitstellt.
Zum Beispiel versucht der Benutzer, einen Buslinienvorschlag von Station1 zu Station2 zu erhalten.
Wenn es eine Buslinie gibt, die beide station1
und abdecken kann station2
, sollte diese Linie zurückgegeben werden. Das Ergebnis könnte folgendermaßen aussehen:
Step1: station1 -- station2
Wenn es keine direkte Buslinie zwischen Station1 und Station2 gibt, sollte die Anwendung versuchen, den Austauschplan zu finden. Das Ergebnis kann beispielsweise folgendermaßen aussehen:
Step1: station1 -- exchangestation
Step2: exchangestation -- station2
Jetzt haben wir die Daten, aber wir wissen nicht, wie man das Datenmodell in der Datenbank entwirft, wie man das Schema erstellt, um die Abfrage effizient zu gestalten?
==============================================
Aktualisieren:
Zum Beispiel habe ich vier Buslinien (eigentlich zwei) mit jeweils unterschiedlicher Farbe:
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)
Wenn wir diese Informationen in der Datenbank speichern möchten, um den Buslinienplan für eine Station zu einer anderen abzufragen, wie viele Tabellen benötigen wir dann und was sollte in jede Tabelle eingefügt werden?