Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Внизпосоветуйте структуру таблицы Найти похожие ветки
← →
stud © (2005-05-17 11:37) [0]необходимо контролировать посещения клиентов по времени и дням недели т.е.
например можно посещать
пн 9,00-18,00
вт 9-18
ср 10-20
..
вс 11-16 т.е. эту инфу нужно хранить в базе. как лучше это сделать?
создать поля в таблице: d1start,d1end.....d7start,d7end или
отдельную таблицу со связью или...
← →
Anatoly Podgoretsky © (2005-05-17 11:39) [1]Ну это посмотреть надо.
← →
stud © (2005-05-17 11:42) [2]куда?
← →
msguns © (2005-05-17 11:43) [3]Отдельную таблицу-дочку с двумя информационными полями типа TDateTime
← →
Sergey13 © (2005-05-17 11:44) [4]Если у всех есть допуск на каждый день (или почти на каждый) недели, то наверное можно и в одну запись напихать полей. Если у одного только по понедельникам у другого по вторникам - наверное лучше отдельную таблицу.
Можно еще подумать про стандартные графики. Т.е. для графика прописываются часы, а челу проставляется соответствие графику.
← →
Max Zyuzin © (2005-05-17 11:51) [5]>msguns © (17.05.05 11:43) [3]
К этой табличке еще припаять день недели и совсем хорошо будет... разве что с праздиками проблеммы... но это тоже решаемо, заведением таблички с праздиками...
← →
msguns © (2005-05-17 11:55) [6]>Max Zyuzin © (17.05.05 11:51) [5]
>К этой табличке еще припаять день недели
Зачем ?
← →
Max Zyuzin © (2005-05-17 12:24) [7]>msguns © (17.05.05 11:55) [6]
В твоем варианте получается что каждому клиенту придется забивать даты посещения на каждый каждый день вообще, а тут нужно именно по недельно.
← →
stud © (2005-05-17 12:28) [8]
> К этой табличке еще припаять день недели и совсем
> хорошо будет
обязательно, дата тут не при чем, тут день недели важен
← →
Max Zyuzin © (2005-05-17 12:33) [9]>stud © (17.05.05 12:28) [8]
TDataTime там при том, что в ней будет хранится время посещения :)
← →
msguns © (2005-05-17 12:41) [10]>stud ©
>Max Zyuzin ©
А вытянуть день недели из TDataTime предрассудки не позволяют ?
← →
Max Zyuzin © (2005-05-17 12:46) [11]>msguns © (17.05.05 12:41) [10]
Серег ты мыслишь не в ту сторону (или я :-))
В твоей таблице, например, скажи сколько понадобится записей, что бы записать все понедельники за год?
← →
Max Zyuzin © (2005-05-17 12:48) [12]>msguns © (17.05.05 12:41) [10]
Ааа я понял, ты типа хочешь что бы часть которая за дату отвечает хранила первую неделю любого года? Типа от туда только определям какой день недели так что ли?
← →
msguns © (2005-05-17 12:49) [13]>Max Zyuzin © (17.05.05 12:46) [11]
>Серег ты мыслишь не в ту сторону (или я :-))
В твоей таблице, например, скажи сколько понадобится записей, что бы записать все понедельники за год?
Дай, чегой-то я в последнее время пренебрегаю сухими дрожжами - хреново с воображением..
Зачем в БД хранить ПОНЕДЕЛЬНИКИ, ЧЕТВЕРГИ и т.д. ???
← →
ANB © (2005-05-17 12:52) [14]
> msguns © (17.05.05 12:49) [13]
План составляем на стандартную неделю.
Типа Пн 10.00 - 18.00.
Когда начнется нужная - определяем праздники и на лету считаем дату. Да решил уже автор проблему по вышестояшим постам.
← →
Anatoly Podgoretsky © (2005-05-17 12:58) [15]stud © (17.05.05 11:42) [2]
В твои сущности.
← →
msguns © (2005-05-17 12:59) [16]>ANB © (17.05.05 12:52) [14]
>План составляем на стандартную неделю
Ага. Но план-то составляет клиент. Или сервер ? А вот на клиенте рисуй на форме хоть четверги, хоть пятницы, с учетом хоть выходных, хоть праздников святого Бодуна - на сервер пойдет TDateTime, и вообще ему совершенно серо-помаранчево, какой день недели и для чего. Вся это требуха выполняется запросами, желательно грамотно написанными. Только вот причем здесь структура таблиц (смотрим сабж) ?
← →
stud © (2005-05-17 13:04) [17]
> А вытянуть день недели из TDataTime предрассудки не
> позволяют
извиняюсь, наверное не совсем понятно изложил суть задачи.
необходимо, чтобы клиенты по указанным дням недели могли проходить только в указанное время
т.е. если он пришел в "непроходное" время)) его не надо пускать
← →
Anatoly Podgoretsky © (2005-05-17 13:54) [18]Это называется охранный календарь и в данной постановке - день недели, вход, выход - при условии не перехода через сутки, что является частным случаем.
← →
ANB © (2005-05-17 14:28) [19]
> на сервер пойдет TDateTime
- зачем ему на сервере TDateTime ? Если можно хранить номер дня недели и 2 времени в любом формате.
← →
stud © (2005-05-17 14:39) [20]хранить надо в любом случае:
день_недели,можно_приходить_с, можно_приходить_по.
вопрос как это удобнее реализовать, чтобы и хранилось нормально и использовать удобно было
← →
Sergey13 © (2005-05-17 14:43) [21]2[20] stud © (17.05.05 14:39)
>вопрос как это удобнее реализовать, чтобы и хранилось нормально и использовать удобно было
Так хранить и использовать ты будешь или Пушкин? Ты? Тебе и решать. Вариантов достаточно (ты их сам перечислил 8-).
← →
stud © (2005-05-17 15:01) [22]вот и спрашиваю про варианты!!!!!
← →
Sergey13 © (2005-05-17 15:07) [23]2[22] stud © (17.05.05 15:01)
Я тебя в [4] тоже спрашивал (точнее фантазировал при отсутствии инфы), но ты же молчишь на это.
← →
stud © (2005-05-17 15:14) [24]наверное лучше отдельную таблицу.....
← →
Max Zyuzin © (2005-05-17 15:15) [25]>msguns © (17.05.05 12:49) [13]
Чего то начало недели а я туплю... не понял я нифига как в твоей таблице будет сохранятся например что в четверг можно ходит с 11-00 до 15-00 напиши плиз что будет жить в твоей таблице?
>stud © (17.05.05 14:39) [20]
Тебе уже вроде насоветовали, да ты и сам насоветовал... а по поводу удобст - каждому удобно по совему... кому стоя в гамаке... :)
← →
msguns © (2005-05-17 15:16) [26]Не, ну чего подняли сыр-бор-то ?
Есть 2 сущности:
1)график
2)процедура регистрации
График составляется НА КЛИЕНТЕ, т.е. с помощью удобной для пользователя (админа) формы: с разными пикерами, календарями, праздниками-выходными, дежурством бобика со сторожем дядей Ваней и т.д.
Главное, чтобы в БД была записана след.информация:
- Клиент
- Дата
- Время входа
- Время выхода
Последние три поля вполне симбиобствуют в одном TDateTime !
Когда студент Непришейконюхвостенко пытается завалиться в систему (говоря по-бразильски - логиниться), посланная с тачки малява попадает на сервер, где тупо выполняется запрос типа
А-ну-ка-дай-инфу-по-клиенту-имярек-где_дата_время_сегодня_витвин_время_входа_и_время выхода.
Если запрос вернет запись, то заходи, дорогой, гостем будешь. Иначе - поганая метла и грязный сапог под зад.
ВСЕ !
← →
msguns © (2005-05-17 15:18) [27]Извиняюсь, в двух дататаймах.
← →
Sergey13 © (2005-05-17 15:41) [28]2 [24] stud © (17.05.05 15:14)
>наверное лучше отдельную таблицу.....
Наверное. Избавишься от динамических запросов по выборке нужных полей.
← →
Max Zyuzin © (2005-05-17 15:57) [29]>msguns © (17.05.05 15:16) [26]
Ну нету у автора там поля "Дата"... хоть тресни... есть только день недели, время входа и выхода...
← →
stud © (2005-05-17 16:17) [30]
> Ну нету у автора там поля "Дата"...
в данном случае дата не нужна! нужен день недели:
1 00:00 11:11
2 11:11 12:12
...
когда приходит чел из даты прихода вытаскивается день недели и сравнивается с тем, который в БД и принимается решение о пропуске или отказе
← →
ANB © (2005-05-17 16:22) [31]Опиши ТЗ подробнее.
Имхо :
Если у клиентов типовые графики, то заведи таблички графики и интервалы (интервалы привязать к графикам). А клиенту присваивай номер графика.
Если клиентов не очень много, но у всех индивидуальные графики, то заведи табличку с интервалами, привязанную к клиенту.
Это уже было выше.
← →
stud © (2005-05-17 16:24) [32]клиент покупает тарифный план для занятий в зале, согласно плану он может посешать зал в определенные дни недели и определенные часы
← →
stud © (2005-05-17 16:25) [33]т.е. тарифных планов много, один клиентв может иметь их несколько, график посещений по планам может отличаться
← →
ANB © (2005-05-17 16:43) [34]Тады добавь линковку клиент - график и не мучайся.
← →
stud © (2005-05-17 17:03) [35]время посещения привязано не к клиенту, а к тарифному плану, который он на данный моент хочет использовать
← →
stud © (2005-05-17 17:03) [36]в общем я уже разобрался
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.04 c