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

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

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

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

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

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

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

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

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
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
7447 / 4581 / 302
Регистрация: 12.08.2011
Сообщений: 14,285
07.12.2015, 10:02 7
Цитата Сообщение от Dynortice Посмотреть сообщение
Вторая таблица как раз для этого и создана.
У вас должен быть справочник остановок: код, наименование, а "вторая" таблица не нужна, всё это должно быть в таблице Маршруты
В третьей таблице ID чего у вас?

p.s. вы так любите английский? причём одно слово - bus
0
9113 / 6051 / 591
Регистрация: 27.03.2013
Сообщений: 19,881
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
7447 / 4581 / 302
Регистрация: 12.08.2011
Сообщений: 14,285
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
7447 / 4581 / 302
Регистрация: 12.08.2011
Сообщений: 14,285
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
7447 / 4581 / 302
Регистрация: 12.08.2011
Сообщений: 14,285
10.12.2015, 03:36 15
Цитата Сообщение от Dynortice Посмотреть сообщение
А поля так названы только потому, что у меня помимо автобусов, будут троллейбусы,
У вас три таблицы bus, bus1 и stop(buses) причём в третьем случае мы наблюдаем круглые скобки в названии. И что, теперь под каждую четырёхколёсную зверину будет по три таблицы?
0
10.12.2015, 03:36
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2015, 03:36
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru