Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Таблица расписания времени-дней / 7 сообщений из 7, страница 1 из 1
11.11.2013, 19:03:43
    #38460956
carroty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблица расписания времени-дней
Здравствуйте, форумчане!
Подкиньте мысль умную как лучше составить таблицу для хранения времени и дней выезда.
Таблица к расписанию автобуса, в которой хранить время выезда и дни
id – id расписания
city_id – id города
day_ - id дня
нужно добавить время выезда из города и дни выезда из города, но дни привязать к времени, например,
время - 12:00, указываем этому времени дни - пн, вт, т.е. по понедельникам и вторника выезд в 12:00
время 13:00, указываем этому времени дни ср, пт – по средам и пятницам выезд в 13:00
а еще выезд может быть два раза в день, т.е. 12:00 – пн, 14:00- пн
и еще, надо предусмотреть ту же информацию для этого же города, но выезд обратно по маршруту
составила такой вариант, но кажется неправильный какой-то
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
CREATE TABLE `time_day` (
    `id` INT(10) NOT NULL AUTO_INCREMENT,
    `timetable_id` INT(10) NULL DEFAULT NULL,
    `city_id` INT(11) NULL DEFAULT NULL,
    `time_1_ukr` VARCHAR(10) NULL DEFAULT NULL,  /* время выезда из города */
    `day_1_ukr` CHAR(3) NULL DEFAULT 1,   /* дни выезда */
    `day_2_ukr` CHAR(3) NULL DEFAULT 1,
    `day_3_ukr` CHAR(3) NULL DEFAULT 1,
    `day_4_ukr` CHAR(3) NULL DEFAULT 1,
    `day_5_ukr` CHAR(3) NULL DEFAULT 1,
    `day_6_ukr` CHAR(3) NULL DEFAULT 1,
    `day_7_ukr` CHAR(3) NULL DEFAULT 1,
    `time_1_eu` VARCHAR(10) NULL DEFAULT NULL, /* время выезда из города по обратному маршруту */
    `day_1_eu` CHAR(3) NULL DEFAULT 1,  /* дни выезда из города по обратному маршруту */
    `day_2_eu` CHAR(3) NULL DEFAULT 1,
    `day_3_eu` CHAR(3) NULL DEFAULT 1,
    `day_4_eu` CHAR(3) NULL DEFAULT 1,
    `day_5_eu` CHAR(3) NULL DEFAULT 1,
    `day_6_eu` CHAR(3) NULL DEFAULT 1,
    `day_7_eu` CHAR(3) NULL DEFAULT 1,
    PRIMARY KEY (`id`)
)
...
Рейтинг: 0 / 0
11.11.2013, 21:04:37
    #38461089
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблица расписания времени-дней
Почитайте хоть что-нибудь про нормализацию.
...
Рейтинг: 0 / 0
12.11.2013, 14:00:53
    #38461798
carroty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблица расписания времени-дней
Akina,
Нормализация это конечно хорошо. Переписала таблицу, получается что-то такое
id рейса
id дня туда
id города
время туда
bool - 1направление туда, 2 - направление обратно

Но все расписания на сайтах имеют такой вид: в расписании сразу указывается дни/время туда и дни/время обратно, типа такого
Картинка с расписанием
Т.е. при внесении инфы о городе сразу вносить и дни/время обратно?
id рейса
id города
id дня туда
время туда
id дня обратно
время обратно
...
Рейтинг: 0 / 0
12.11.2013, 14:10:57
    #38461824
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблица расписания времени-дней
Да пожалуйста... хотя с моей точки зрения рейсы туда и обратно связывать нельзя - между ними формально нет связи.

Простейший пример - автобус едет рейсом из А в Б, потом у него другой рейс, из Б в В, и оттуда третий рейс, из В в А. За каким хреном при вводе первого из рейсов обратный рейс из Б в А?
...
Рейтинг: 0 / 0
12.11.2013, 14:51:56
    #38461967
carroty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблица расписания времени-дней
Akina,
Речь идет не о рейсе автобуса, а о расписании, расписание одно, но по одному расписанию могут идти несколько автобусов, в разное время и в разные дни, как туда так и обратно. Например, расписание Варшава - Каунас - Рарну - Таллин, т.е. по этому маршруту идут автобусы по каким-то дням и в какое-то время, пользователю при просмотре расписания нужна инфо о днях и времени выезда туда и обратно, а какой автобус это значения не имеет, это пользователь уже уточняет у менджера. Т.е. в расписании нет конкретного рейса, нет конкретного автобуса, есть только информация что в такие-то дни и в такое-то время пользователь сможет попасть в нужный ему город
И как тогда быть?
...
Рейтинг: 0 / 0
12.11.2013, 15:53:48
    #38462146
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблица расписания времени-дней
carrotyРечь идет не о рейсе автобуса, а о расписании, расписание одно, но по одному расписанию могут идти несколько автобусов, в разное время и в разные дни, как туда так и обратно.
В Вашем расписании единицей учёта, самостоятельной сущностью, является рейс. Его атрибутами ячвляются исходный пункт, пункт назначения, день и время отправления, день и время прибытия. И пофиг, есть там обратный рейс или нет, едет там автобус или скотовозка, нужно оплачивать багаж или нет...
...
Рейтинг: 0 / 0
15.11.2013, 17:14:09
    #38466748
carroty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблица расписания времени-дней
С сущностями разобралась вроде, структура таблицы получается такая
id рейса
id города
id дня
время отправления
id станции
заполнила таблицу, получилось то, что видим на картинке

а как вывести эти данные в человекопонятном виде типа:

То что через циклы for/foreach понятно, а дальше совсем непонятно.Получается куча записей-дубликатов с разницей только в днях и времени, и как это все можно привести к виду обычной таблицы расписания?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Таблица расписания времени-дней / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]