Chúng tôi có dữ liệu trạm xe buýt và chúng tôi muốn xây dựng một ứng dụng sẽ cung cấp dòng / nhiều dòng cho một trạm bắt đầu nhất định và trạm cuối.
Ví dụ: người dùng cố gắng nhận đề xuất tuyến xe buýt từ trạm1 đến trạm2.
Nếu có một tuyến xe buýt có thể bao gồm cả hai station1
và station2
, dòng này sẽ được trả lại. Kết quả có thể như thế này:
Step1: station1 -- station2
Nếu không có tuyến xe buýt trực tiếp giữa trạm1 và trạm2, thì ứng dụng nên cố gắng tìm kế hoạch trao đổi, ví dụ, kết quả có thể như sau:
Step1: station1 -- exchangestation
Step2: exchangestation -- station2
Bây giờ chúng ta có dữ liệu, nhưng chúng ta không biết cách thiết kế mô hình dữ liệu trong cơ sở dữ liệu, làm thế nào để tạo lược đồ để làm cho truy vấn hiệu quả?
=============================================
Cập nhật:
Ví dụ: tôi có bốn tuyến xe buýt (thực tế là hai) mỗi tuyến có một màu khác nhau:
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)
Bây giờ nếu chúng ta muốn lưu các thông tin này trong cơ sở dữ liệu để truy vấn kế hoạch tuyến xe buýt cho một trạm đã cho trạm khác, thì chúng ta cần bao nhiêu bảng và nên đặt gì vào mỗi bảng?