Każdy pociąg ma swój numer. Jednej doby jedzie jeden pociąg o danym numerze. Każdy pociąg ma kolumny zwykły/weekendowy/świąteczny. Każdy pociąg ma kierunek (tczew/slupsk)
Każda stacja ma nazwę, stan dostępności dla osób niepełnosprawnych
Pociąg dla danej stacji ma godzinę odjazdu i przyjazdu. Godziny mogą być NULL.
Tabele:
- TRAIN
-
id_train INT PK UQ NOT NULL no INT //numer pociagu std BOOL NOT NULL //rozkład normalny wkd BOOL NOT NULL //rozkład weekendowy hld BOOL NOT NULL //rozkład świąteczny dir CHAR NOT NULL //kierunek
- STATION
-
id_station INT PK UQ NOT NULL name VARCHAR(35) NOT NULL //nazwa, najdłuższa Gdynia Wzgórze św. Maksymiliana się mieści dis BOOL NOT NULL //dostęp dla niepełnosprawnych dst INT NOT NULL //odleglosc od Slupska
- TIMETABLENOW
-
train FK(id_train) NOT NULL station FK(id_station) NOT NULL arr TIME NULL dep TIME NULL
- TIMETABLENEXT
-
train FK(id_train) NOT NULL station FK(id_station) NOT NULL arr TIME NULL dep TIME NULL
- HDATE
-
hd TIME NOT NULL //daty świąteczne
Przykład wywołania:
Od Redy do Gdyni Cisowej o 7:00 -skrypt sprawdza jakiego kierunku szukamy, id Redy > id Cisowej więc szukamy w kierunku Tczewa (Slupsk id 0, Tczew id duże) -sprawdzamy jakich pociągów szukamy (obecna data, czy jest weekend lub święto) -szukamy odjeżdżających z Redy około 7:00 takie, dla których istnieje przyjazd do Cisowej i odpowiedni typ mają na TRUE
Od Gdyni Głównej do Gdańska Oliwy 24.12.2012 na cały dzięń -sprawdzamy kierunek po id stacji -sprawdzamy, że 24.12 to dzień świąteczny -szukamy wszystkich pociągów które: –odjeżdżają z Gdyni Głównej –jadą w kierunku Tczewa –przyjeżdżają do Gdańska Oliwy –mają kolumnę hld = TRUE