Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/103: Рейтинг темы: голосов - 103, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 20.10.2014
Сообщений: 24
1

База данных городского транспорта

06.12.2015, 12:47. Показов 19071. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создаю базу данных общественного городского транспорта и столкнулся с несколькими проблемами.
Так как я новичок, то глубоко с MS Access не знаком.
Идея в следующем: у меня есть таблица маршрутов.
--ID маршрута,
--№ автобуса,
--название маршрута,
--стоимость проезда,
--расстояние прямого/обратного маршрута,
--количество остановок прямого/обратного маршрута,
--интервал хождения автобуса минимум-максимум (возможно заменю расписанием),
--время в пути,
--начало/конец работы маршрута и рабочие дни маршрута.

Так же есть список всех остановок, на которых останавливаются данные автобусы.
И для одного маршрута (1 Автобус) есть список остановок в одну сторону (и расстояние от предыдущей до данной остановки).
Естественно такие таблицы должны быть для каждого автобуса.

Вопрос в следующем.

Как правильно связать всю таблицу остановок маршрута (а их будет по 2 - прямой и обратный) с строками в списке маршрутов (первая таблица)?

Или это можно сделать иначе и правильнее?
И нет ли возможности присваивать ячейке в таблице БД значение одномерного массива?
Миниатюры
База данных городского транспорта   База данных городского транспорта   База данных городского транспорта  

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2015, 12:47
Ответы с готовыми решениями:

База данных в Асэсе. Движение городского автоуса по маршруту
мне нужно составить базу данных(потом к делфи подключить) смысла по её создание не понимаю..мне...

Схема данных базы городского автотранспорта
Столкнулась с такой проблемой, создала таблицы, но не могу их связать связями один ко много, access...

Запрос для городского транспорта
Номер по порядку это порядковый номер остановки для одного маршрута, Цветами отметил для удобства....

Не открывается база данных Access , пишет неразпознаваемый формат базы данных
Не открывается база данных Access , пишет неразпознаваемый формат базы данных,что делать

14
шапоклякистка 8-го дня
3680 / 2240 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
06.12.2015, 13:29 2
Dynortice, мне кажется, стоит изначально принять, что остановка "туда" и остановка "обратно" - это разные остановки;

и маршрутов тоже нет "туда" и "обратно", а есть один кольцевой маршрут.

Добавлено через 2 минуты
Цитата Сообщение от Dynortice Посмотреть сообщение
--расстояние прямого/обратного маршрута,
--количество остановок прямого/обратного маршрута,
эти поля вообще не нужны, они вычисляются по данным об остановках

Добавлено через 1 минуту
Цитата Сообщение от Dynortice Посмотреть сообщение
--интервал хождения автобуса минимум-максимум (возможно заменю расписанием),
--время в пути,
--начало/конец работы маршрута и рабочие дни маршрута.
Не "возможно", а необходимо заменить.

Добавлено через 6 минут
Цитата Сообщение от Dynortice Посмотреть сообщение
их будет по 2 - прямой и обратный
нет, таблица остановок должна быть одна. Просто сделайте поле для дополнительной пометки тех остановок маршрута, которые считаются "начальной" и "конечной". На некоторых маршрутах конечной вообще не будет.

И еще. Часто бывает, что на одной физической остановке останавливаются несколько маршрутов. Я бы вынесла остановки как физические объекты в отдельную таблицу, от которой таблица с перечнем остановок маршрута будет зависимой (1 физическая остановка - много остановок разных маршрутов).

Так во-первых база будет нормализованной, а во-вторых, можно будет получить информацию, какие маршруты имеют общие остановки (при вашей организации этого выяснить нельзя - совпадение названия остановок не гарантирует, что остановки физически находятся в одном и том же месте).
0
0 / 0 / 0
Регистрация: 20.10.2014
Сообщений: 24
06.12.2015, 13:31  [ТС] 3
Цитата Сообщение от texnik-san Посмотреть сообщение
и маршрутов тоже нет "туда" и "обратно", а есть один кольцевой маршрут.
Есть маршруты, которые рано утром начинают ходить не с первой остановки, или поздно вечером не доезжают до конечной.

Добавлено через 1 минуту
Цитата Сообщение от texnik-san Посмотреть сообщение
И еще. Часто бывает, что на одной физической остановке останавливаются несколько маршрутов. Я бы вынесла остановки как физические объекты в отдельную таблицу, от которой таблица с перечнем остановок маршрута будет зависимой (1 физическая остановка - много остановок разных маршрутов).
Так во-первых база будет нормализованной, а во-вторых, можно будет получить информацию, какие маршруты имеют общие остановки (при вашей организации этого выяснить нельзя - совпадение названия остановок не гарантирует, что остановки физически находятся в одном и том же месте).
Вторая таблица как раз для этого и создана.
0
шапоклякистка 8-го дня
3680 / 2240 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
06.12.2015, 13:37 4
Дальше. Примечание "по требованию" не должно создавать отдельную остановку. Сделайте в таблице остановок маршрута поле типа "флажок" и просто отмечайте необязательные остановки.

Добавлено через 1 минуту
Цитата Сообщение от Dynortice Посмотреть сообщение
Есть маршруты, которые рано утром начинают ходить не с первой остановки, или поздно вечером не доезжают до конечной.
Отмечайте такие остановки как необязательные.

Добавлено через 1 минуту
Цитата Сообщение от Dynortice Посмотреть сообщение
Вторая таблица как раз для этого и создана.
Верю. Мне отсюда связи между вашими таблицами не видны )

Добавлено через 2 минуты
Цитата Сообщение от texnik-san Посмотреть сообщение
Отмечайте такие остановки как необязательные.
Да, только наверное уже флажком не обойтись, а нужно будет указать тип необязательности. Т.е. созать еще один справочник с выбором "Обязательная", "По требованию", "Только днем" и т.п.
0
0 / 0 / 0
Регистрация: 20.10.2014
Сообщений: 24
06.12.2015, 13:57  [ТС] 5
texnik-san, Хорошо, тогда начну сначала.
Есть база остановок - 2-ой скрин в первом сообщении. База остановок взята с eway.in.ua вручную. Примечание "по требованию" актуально только для маршрутных такси, но не для автобусов (они останавливаются в обязательном порядке на каждой остановке), ID остановок взяты оттуда же - 1-ый скрин.

Есть 2 списка остановок для каждого маршрута (пока буду называть прямым и обратным). В список входит название остановки и её ID. Естественно остановки с одним названием по разные стороны улицы имеют разный ID - 2-ой скрин.

Есть расписание для каждого маршрута (при чем в будние и выходные у некоторых маршрутов разное расписание). Взято оно с официального сайта КП "Киевпасстранс". 3-ий скрин.

В принципе, как посмотреть маршруты по определённой остановке - это лёгкий запрос.

Самое главное - как построить кратчайший маршрут (по времени) с точки А в точку Б (точки А и Б - остановки) имея список остановок, расписание автобусов.
Миниатюры
База данных городского транспорта   База данных городского транспорта   База данных городского транспорта  

0
шапоклякистка 8-го дня
3680 / 2240 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
06.12.2015, 15:32 6
А это уже задача не базы данных, а теории графов.

Фактически,
--остановки - это вершины,
--наличие маршрута от одной остановки к другой - ребра,
--время движения - длины ребер.

Дальше гуглить методы построения кратчайшего маршрута в графе (я не помню уже, дискретку 25 лет тому учила).
0
Эксперт MS Access
7442 / 4576 / 301
Регистрация: 12.08.2011
Сообщений: 14,241
07.12.2015, 10:02 7
Цитата Сообщение от Dynortice Посмотреть сообщение
Вторая таблица как раз для этого и создана.
У вас должен быть справочник остановок: код, наименование, а "вторая" таблица не нужна, всё это должно быть в таблице Маршруты
В третьей таблице ID чего у вас?

p.s. вы так любите английский? причём одно слово - bus
0
9108 / 6037 / 590
Регистрация: 27.03.2013
Сообщений: 19,813
07.12.2015, 12:35 8
Цитата Сообщение от texnik-san Посмотреть сообщение
...и маршрутов тоже нет "туда" и "обратно", а есть один кольцевой маршрут....
Не всегда верно сие утверждение.
У нас в деревне есть несколько маршрутов тролейбусов, где к примеру вначале по маршруту остановки находятся на одной улице, сворачивает, 3-4 остановки только в одну сторону, потом опять прямо, а вот на обратке там где следуя - Туда нет тех же остановок, а есть 4-5 совершенно других, соответственно маршруты не одинаковые.
0
шапоклякистка 8-го дня
3680 / 2240 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
07.12.2015, 12:58 9
А кто и где говорил об одинаковости маршрутов? Я говорю, обратный маршрут тоже нужно описывать, в той же таблице, что и прямой, продолжая список, аж пока перечисление не вернется снова начальной остановке. А не как у автора темы:

Цитата Сообщение от Dynortice Посмотреть сообщение
И для одного маршрута (1 Автобус) есть список остановок в одну сторону
Добавлено через 1 минуту
Цитата Сообщение от alvk Посмотреть сообщение
p.s. вы так любите английский?
для программистов это вообще-то норма
0
Эксперт MS Access
7442 / 4576 / 301
Регистрация: 12.08.2011
Сообщений: 14,241
08.12.2015, 08:54 10
Для каких-таких программистов?
0
шапоклякистка 8-го дня
3680 / 2240 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
08.12.2015, 10:45 11
Цитата Сообщение от alvk Посмотреть сообщение
Для каких-таких программистов?
Для читающих документацию.

Добавлено через 2 минуты
А поскольку читать документацию должен уметь любой программист - то нормой является и то, что студентов учат английскому и мотивируют использовать его в учебных работах.
0
Эксперт MS Access
7442 / 4576 / 301
Регистрация: 12.08.2011
Сообщений: 14,241
09.12.2015, 02:34 12
А при чём тут наименование полей? А при чём тут англоязычный Акцесс? Что касается меня, то я прекрасно использую русский и другим рекомендую не забывать свой язык. Не путайте холодильник и огурец.
Так что никакие программисты не должны именовать поля на английском языке, да и к тому же все их называть по названию основной сущности своей БД. Это дурной вкус.
Почитайте про соглашение имён например http://www.accessoft.ru/templa... ?mn_id=362

Добавлено через 2 минуты
Цитата Сообщение от texnik-san Посмотреть сообщение
А поскольку читать документацию должен уметь любой программист - то нормой является и то, что студентов учат английскому
Основная часть документации на русском языке, мы не в 90-е живём, но даже и тогда была прекрасная справка в 97-м офисе на русском языке.
0
шапоклякистка 8-го дня
3680 / 2240 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
09.12.2015, 09:12 13
Луше быть изначально готовым на защите показать свою базу на любой версии офиса, чем обнаружить, что база, безупречно работавшая дома, внезапно перестала работать на защите, и исправлять что-либо уже поздно.
0
0 / 0 / 0
Регистрация: 20.10.2014
Сообщений: 24
09.12.2015, 13:35  [ТС] 14
alvk, Ну, по поводу русского ничего не буду говорить, так как тут на вкус и цвет.
на английском мне стало привычней.
А поля так названы только потому, что у меня помимо автобусов, будут троллейбусы, трамваи, маршрутки, соответственно, я их еще не добавил.
0
Эксперт MS Access
7442 / 4576 / 301
Регистрация: 12.08.2011
Сообщений: 14,241
10.12.2015, 03:36 15
Цитата Сообщение от Dynortice Посмотреть сообщение
А поля так названы только потому, что у меня помимо автобусов, будут троллейбусы,
У вас три таблицы bus, bus1 и stop(buses) причём в третьем случае мы наблюдаем круглые скобки в названии. И что, теперь под каждую четырёхколёсную зверину будет по три таблицы?
0
10.12.2015, 03:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2015, 03:36
Помогаю со студенческими работами здесь

База данных по учету ремонтов компьютерного оборудования: схема данных
Здравствуйте, форумчане! Составил схему данных. Вроде бы на данный этап учел всё необходимое. ...

База данных ветклиника, отображение выбранных данных в другой форме!
Здравствуйте, помогите пож-ста. Есть база данных, мне нужно организовать в главной форме Карта...

Слежение за передвижением городского транспорта
Привет ребята! У некоторых городов есть такая фича как городское API. В основном там почти...

Расчет маршрута городского транспорта
Здравствуйте. Когда-то в школе (лет 8 назад) учил паскаль, а вот недавно захотелось написать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru