Как правильно связать таблицы между собой в базе данных

 
 
 
Сообщения:4
Здравствуйте, уважаемые форумчане!
Сразу хочу извиниться, если начал обсуждение не в правильной ветке, но все же надеюсь попал правильно.

Дело в том, что передо мной стоит задача, разработать веб приложение электронная ЖД касса. Естественно в целях обучения. Самое сложное для меня оказалось, разместить расписание поездов в базе данных. Вообще не могу понять как это сделать. Например, мне нужен поезд, который отвезет меня с "маленького города-1" до "маленького города-2". У самого поезда главный маршрут это "Главный город-1" и конечный пункт "Главный город-2", то есть маленькие станции и городки находятся в диапазоне всего маршрута данного поезда.

Вот как в таком случае организовать взаимосвязь между таблицами, чтобы поиск выдавал правильные поезда, в маршрут которых, входят те пункты назначения, которые указал пользователь? Поиск с учетом даты отправления, конечно :)

Надеюсь на вашу помощь.
Изменен:04 дек 2016 17:23
 
 
Сообщения:300
это самое сложное в SQL за это умные дяди получают большие деньги. в своё время нам это читали две недели плюс неделю практики.
даже примерно не знаю куда тебя направить. хотя почитай тут.
и возможно вот эту книгу
 
 
Сообщения:4
Спасибо за внимание! Вторая ссылка не рабочая (
 
 
Сообщения:89
слабо себе представляю о каких связях идет речь.. по моему все просто, есть поезда, есть марштруты, есть станции, все это отдельные таблицы - справочники, где должны быть основные данные - сами признаки элементов справочника и какие-то дополнительные, например идентификаторы связанных с ниим объектов..

соответственно, по таблице где расписание - поезда по времени, будет понятно, если ли какие-то поезда вообще в интервал времени..
а по справонику станциий будет понятно, пороходят ли полученные по интервалу дат поезда через нужные станции, в этом справочнике
должна быть связь между каждой стануцей и каждым поездом.. думаю, начав с простого, потом поймешь как улучшить стуктуры данных
таблиц и использовать их более оптимально
Изменен:05 дек 2016 09:09
 
 
Сообщения:456
dmr777, начните с простого (пока без дат).
Например сделайте три таблицы:
Станции (id, name)
Поезда (id, number)
Маршруты (id, id-станции, id-поезда)
Что бы найти поезда проходящие через две станции надо выбрать из таблицы маршрутов все записи с нужными станциями и совпадающими id поездов, как то так.

А вообще задача достаточно интересная и не простая (если конечно все поезда не отправляются по всем маршрутам ежедневно, но и даже в таком варианте есть есть нюансы).
 
 
Сообщения:4
Спасибо всем за содействие! По вашим советам, начал с простого, пока без лишней информации, и даже без базы данных. Вроде картина начала вырисовываться. Как оказалось, я не с той стороны подошел к задаче, сразу захотел в БД все построить. Сейчас же начал выстраивать объектную модель, так думаю правильнее.

Еще раз спасибо!
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет