![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 8.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
zabieram się za aplikację, która będzie służyła do rezerwacji terminów zajęć. Zajęcia odbywają się cyklicznie i trwają przez okres 6 miesięcy. Osoba zapisuje się na zajęcia w okreslonym dniu tygodnia i o określonej godzinie. Mam w związku z tym 3 pytania: 1) Czy rejestrując nowego uczestnika zajęć w systemie lepiej w bazie trzymać informacje o wybranym przez niego dniu tygodnia i godziny, czy policzyć wszystkie daty, w ktorych ten dzień występuje) przez całe 6 miesięcy i tak zapisać to w dedykowanej do tego tabeli? 2) Który ze sposobów opisanych wyżej lepiej (łatwiej) nadaje się do sprawdzania kolizji terminów w trakcie rejestracji kolejnego uczestnika? 3) Czy MySQL ma jakąś funkcję, która sprawdza, czy dana data 'zawiera' się w wybranym przedziale czasowym? Z góry dziękuję za pomoc. Pozdr Piotr |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 8.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
hej
Trochę uprościłem pierwszego posta, żeby łatwiej wytłumaczyć. W rzeczywistości wygląda to tak: 1. Uczestnik może zapisać się do danej grupy 2. Grupa ma określony poziom trudności, czas trwania i liczbę użytkowników 3. Grupa (a nie uczestnik) ma zdefiniowany rozkład zajęć (czyli wiązanie: uczestnik->grupa->kurs) Czyli jak lepiej? Liczyć wszystkie daty, czy zdefiniować dla grupy dzień tygodnia, godzinę i czas trwania i sprawdzać to w locie? Jeszcze jedno pytanie abstrahując od powyższego: Jeżeli sprawdzam kolizję zajęć (czy jedno nie nakłada się na drugie) lepiej mieć w bazie datetime rozpoczęcia zajęć i czas trwania, czy datetime rozpoczęcia i zakończenia? Sprawdzając (np funkcją between) chyba lepiej te drugie. Co myslicie? Pozdrawiam Piotrek Bardzo często zdarza się, że przy wszelkiego rodzaju rozkładach jazdy, planach zajęć czy ogólnie harmonogramach jakieś pojedyncze zajęcia zostają przesunięte w czasie. Powodów dla tego typu przypadków jest cała masa, święta, niedyspozycyjność prowadzących, konflikt z innymi zajęciami itp. itd. Dlatego też sugerowałbym każde pojedyncze zajęcia zapisywać osobno, a nie jako "wydarzenie cykliczne". Zajęcia z powodów technicznych nie mogą zostać przesunięte. Te zajęcia, ktore się nie odbyły dostają status 'do odrobienia' Czy proponujesz policzyć np wszystkie czwartki o 17.00 i zapisać jako osobne rekordy w bazie? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 01:33 |