Diskuze: Rezervační systém
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj.
No, mně se to zdá takový divně zamotaný. Chápu, že "rozkaz zněl jasně,
méně než 6 tabulek za žádnou cenu", ale z tvého řešení některé věci
nevyčtu (třeba čas, kdy je pracovník k dispozici - vlastně úřední
hodiny, ale možná jen špatně koukám - jsou 3 hodiny ráno). DateLists a
TimeLists jsou podle mě naprosto zbytečné, protože od uložení takových
údajů jsou přeci sloupečky s vhodným datovým tipem (jeden 1 sloupeček
datetime).
Asi bych to řešil takto (tabulky):
1.) zaměstnanec - není o čem
2.) klient - taktéž
a dále už se to dá různě úpravovat:
3.) obor_služeb (třeba občanky, soc./zdrav., práce...)
4.) zaměstnanec_pracovní_doba (neřešme pauzy na oběd, máme víceméně
fixní počet sloupečků, tak to asi není nutné řešit extra složitě,
klidně by to mohlo být i v tabulce zaměstnanec)
/ tady stojí za úvahu, že by to měla být asi pracovní doba oboru služeb,
ne zaměstnance.
5.) zaměstnanec-obor_služeb
6.) rezervace:
ukládám obor, datum + čas od klienta -> (je volná kapacita? ano-uložím
klientovu volbu : ne-nabídnu nejbližší volný čas - můžu pracovat např.
s 15minutovými bloky), dále ukládám klienta a pracovníka (pokud není nikdo
volný, nabízím jiný čas, pokud někdo volný je, zapíšu klidně dle
náhodného výběru a už volný není ).
Aktuálně mě nenapadá žádný dotaz, který by nešel rozumně položit.
Samozřejmě se to dá ještě zkomplikovat a tabulky početně namnožit.
Někoho dalšího určitě napadne i jiné řešení. Já se to snažím brát z
pohledu občana, co jde na úřad.
1.) vím, co chci - vyberu si obor služeb
2.) vím, kdy tam chci jít
3.) může/nemusí být volno - dostanu ev. nabídku termínu
4.) dokončím registraci - mohu dostat třeba nějaký kód, kterým se
prokáži nebo zadám při tisku pořadového lístku.
To, kdy je pracovník na pracovišti mám v tabulce TimeLists. Kde mám jen hodnoty 8:00, 8:15, 8:30 .... 13:45. A Na pracovišti je každý pracovní den, ty datumy jsou vygenerované v tabulce DateLists. Je to asi blbost ukládat do jedné tabulky jen datum a čas. Ale šel jsem tou, pro mě, nejednoduší cestou Díky za pomoc, tak to zkusím překopat
Zobrazeno 3 zpráv z 3.