SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.04.2011 21:21:11

posta
Участник
Зарегистрирован: 08.04.2011
Сообщений: 3

Организация таблицы с данными

Добрый день, прошу помочь с реализацией следующей задачи.

Есть таблица СОБЫТИЯ {id,event,datetime}. В нее добавляются и выбираются события.
При добавлении обычного события - добавляется стандартно - название и дата события. С этим все в порядке.

НО! Как реализовать добавление и последующую выборку события, в котором вместо даты указаны значения: "каждый четверг", "каждое 30 число месяца".??

Как расположить в таблице такие события, может надо другую структуру таблицы..

Неактивен

 

#2 08.04.2011 22:15:00

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Организация таблицы с данными

Правильный ответ — никак. Их нужно держать отдельно (и пересчитывать каждый
раз, ничего не поделаешь). Можно было бы просчитать на некоторое время вперед,
например, но что будет, если пользователь посмотрит сразу в 4000 году? smile

Неактивен

 

#3 08.04.2011 23:44:22

posta
Участник
Зарегистрирован: 08.04.2011
Сообщений: 3

Re: Организация таблицы с данными

paulus написал:

Правильный ответ — никак. Их нужно держать отдельно (и пересчитывать каждый
раз, ничего не поделаешь). Можно было бы просчитать на некоторое время вперед,
например, но что будет, если пользователь посмотрит сразу в 4000 году? smile

Максимум на полгода smile

Неактивен

 

#4 09.04.2011 00:51:16

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Организация таблицы с данными

На самом деле, пересчитывание регулярных задач — дело не очень сложное.

У разумного человека таких задач не очень много. Пусть будет 100 дней рож-
дения (раз в год), с десяток еженедельных задач... собственно, всё. Макси-
мум 150 строк на человека. Проверить, удовлетворяет ли такая строка — очень
быстро. А нерегулярных задач может быть много, но они легко подберутся по
индексу smile

Неактивен

 

#5 10.04.2011 13:39:48

posta
Участник
Зарегистрирован: 08.04.2011
Сообщений: 3

Re: Организация таблицы с данными

А может использовать дополнительное поле - shift. В нем содержатся данные, которые позволяют просчитывать все даты этой записи.

Неактивен

 

#6 11.04.2011 00:45:51

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Организация таблицы с данными

Т.е. на пользователя всегда загружать blob, а парсить уже снаружи?

Можно, но не очень эффективно. Особенно для часто пользующихся сервисом
людей — у них blob будет большим, а доставать информацию десятилетней дав-
ности для них, наверное, не часто будет нужно.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson