Cześć Panowie. Tworzę właśnie aplikację do kupowania biletów na MKS/PKS i mam ogromny problem w zaprojektowaniu bazy danych tak, by obsługiwała ona różne przystanki w ramach jednej trasy. Obecnie moja baza wygląda tak
Tabela ride_section jest tabelą łączącą tabelę ride oraz tabelę section w relację wielu do wielu. Początkowo planowałem by każda trasa była podzielona na odcinki. Np trasa 1-4 składała się z odcinków 1-2, 1-3, 1-4, 2-3, 2-4, 3-4 z których każdy miałby swoją cenę. Jest to o tyle wygodne, że wtedy mogę w tabeli ticket umieścić informację o odcinku którego dotyczy bilet i nie muszę się już niczym przejmować. Problem pojawia się jednak w momencie, gdy jedna trasa posiada 30 przystanków. Stworzenie takich odcinków, niemal każdy z każdym przy 30 przystankach to 30+29+28+27... itp różnych odcinków dla jednej trasy. Od razu wydaje mi się to nieoptymalne i ciężkie w zarządzaniu.
Kolejnym pomysłem jest składać trasę jak z klocków, która składała by się z różnych odcinków łączących ze sobą najbliższe dwa przystanki. Jednak nie bardzo potrafię sobie wyobrazić jak informację o takiej liście odcinków umieścić w tabeli ticket. Jak ustalić skąd dokąd jedzie, biorąc pierwszy odcinek z listy i ostatni ?
Byłbym bardzo wdzięczny za rady jak to ogarnąć.