Chrome
Новичок
Афиша: время киносеансов (структура данных)
Здравствуйте. Пишу раздел «Афиша» для сайта города.
Запнулся на такой, вроде элементарной, вещи дата и время проведения мероприятия. Если в случае с каким-нибудь соревнованием всё более-менее понятно, то, например, для фильма существует несколько дат показа фильма и разное время сеанса в различные дни.
Остановился пока на двух вариантах решения проблемы.
Решение 1. (что первое пришло в голову) В таблицу с описанием события добавить поле типа TEXT, в котором в следующем формате будет описываться время сеансов:
И чтобы выбрать событие на 12 декабря нужно выполнить запрос: .. WHERE Date LIKE (%'-12-06'%)... Решение мне не нравится всем, кроме того, что используется только одно поле И честно говоря не знаю, будет ли такое работать вообще )
Решние 2. Добавить таблицу для связи многие-ко-многим. Это особенно полезно, если один фильм идёт в нескольких кинотеатрах (хотя у нас это редкость ).
Структура что-то вроде такого:
Id, PlaceId, EventId, Date, SeancesTimes
Не нравится только то, что для такого рода данных выделяется целая таблица и при этом эти данные имеют привычку повторяться...
Есть ли ещё какие-то решения данной задачи или я вообще просто не так смотрю на саму проблему? Или «решение 2» - это то, как лучше и сделать? Посоветуйте...
Здравствуйте. Пишу раздел «Афиша» для сайта города.
Запнулся на такой, вроде элементарной, вещи дата и время проведения мероприятия. Если в случае с каким-нибудь соревнованием всё более-менее понятно, то, например, для фильма существует несколько дат показа фильма и разное время сеанса в различные дни.
Остановился пока на двух вариантах решения проблемы.
Решение 1. (что первое пришло в голову) В таблицу с описанием события добавить поле типа TEXT, в котором в следующем формате будет описываться время сеансов:
Код:
2007-12-06: 10:00, 14:00, 20:00
Решние 2. Добавить таблицу для связи многие-ко-многим. Это особенно полезно, если один фильм идёт в нескольких кинотеатрах (хотя у нас это редкость ).
Структура что-то вроде такого:
Id, PlaceId, EventId, Date, SeancesTimes
Не нравится только то, что для такого рода данных выделяется целая таблица и при этом эти данные имеют привычку повторяться...
Есть ли ещё какие-то решения данной задачи или я вообще просто не так смотрю на саму проблему? Или «решение 2» - это то, как лучше и сделать? Посоветуйте...