Autor | Zpráva | ||
---|---|---|---|
abc Profil |
#1 · Zasláno: 21. 6. 2012, 20:37:14
Zdravím,
potřeboval bych pomoct s návrhem tabulek databáze sportoviště Potřebuji nějak ukládat cenové sezóny. U sezón potřebuji sledovat k jakému sportovišti patří (id_sportoviště - integer), zda je platná (1/0 - tinyint), název sezóny (varchar 20), datum_od (date), datum_do (date). Toto bych měl momentálně připravené. Dále potřebuji sledovat u každého dne v týdnu (1-7/0-6 to už je jedno) cenu za jednotlivé hodiny (např. 9-24), každá hodina může být jiná cena. Jak se řeší takové případy? Předem děkuji za jakékoliv nápady |
||
Kajman Profil |
Co si udělat obdobně tabulku s rozdělením intervalů pro ocenění
id_sezony, den_v_tydnu, time_od, time_do, id_ceny a pak si nastavit ty konkrétní ceny id_ceny cena |
||
abc Profil |
#3 · Zasláno: 21. 6. 2012, 22:03:34
Takhle mě to taky napadlo, ale trošku mě potom děsí vypisování do tabulky celého dne.
Napadlo mě to udělat: id_sezony, den, h1-h24, což se bude krásně vypisovat, ovšem přijde mi to takové neohrabané a hlavně by potom uživatel musel naplnit hromadu inputů, které by musel naplnit cenou. Stále mi to ale přijde jendodušší, než aby "hloupý" uživatel musel vymýšlet sezóny stylem čas_od - čas_do |
||
Alphard Profil |
#4 · Zasláno: 21. 6. 2012, 22:21:55
abc:
„Stále mi to ale přijde jendodušší, než aby "hloupý" uživatel musel vymýšlet sezóny stylem čas_od - čas_do“ I intervaly jde vykreslit do tabulky a umožnit změnu po buňkách. Ale je s tím dost práce. Sloupce h1-h24 vypadají děsivě. Jak v nich potom budeš hledat třeba nejmenší cenu? |
||
abc Profil |
#5 · Zasláno: 21. 6. 2012, 22:28:32
„Jak v nich potom budeš hledat třeba nejmenší cenu?“
Nejmenší cenu k ničemu nepotřebuju - nebo ano? „I intervaly jde vykreslit do tabulky a umožnit změnu po buňkách“ Změna po buňkách by potom imho musela probíhat tak, že si uživatel zadá cas_od == cas_do, tím pádem by tato cena platila pouze na tuto hodinu. Nedovedu si představit, že by v krajním případě bylo na den stejně sezón jako případných polí h1-h24 (pokud by měla úplně každá hodina rozdílné ceny) Nějaká 3. varianta by nebyla? :-) |
||
Alphard Profil |
#6 · Zasláno: 21. 6. 2012, 22:31:53
abc:
„Nejmenší cenu k ničemu nepotřebuju - nebo ano?“ To jsem si před pár týdny taky myslel :-) Stačí prosté zadání napsat do výpisu služeb nejnižší cenu "Ceny od x Kč"... „Nějaká 3. varianta by nebyla?“ Jestli na něco přijdeš, ozvi se. |
||
Kajman Profil |
#7 · Zasláno: 21. 6. 2012, 22:49:29
Nic nebrání tomu, aby v té struktuře bylo pro každou kombinaci sezóny a dne přesně 24 intervalů (24 řádků), pokud Vám editace a ukládání po hodinách výrazně usnadní práci.
Mně by se jako uživateli asi více líbilo nějaké roztahovátko (možná něco takové jsem viděl v google kalendáři nebo v některých telefonech), abych nemusel nastavovat pro každou sezónu každého sportoviště 168 cen. Možná se zeptejte zadavatele, jestli má představu o zadávání konfigurace ocenění. |
||
abc Profil |
#8 · Zasláno: 21. 6. 2012, 22:54:42
Alphard:
„Stačí prosté zadání napsat do výpisu služeb nejnižší cenu "Ceny od x Kč"...“ Pěkná připomínka, to by mě asi nenapadlo, díky :-) „Jestli na něco přijdeš, ozvi se.“ Ty jsi tedy něco podobného řešil? A jaký byl návrh DB, smím-li se zeptat? :-) Ještě nad tím budu pár dní přemýšlet a potom to nejspíš o víkendu tedy udělám, jak navrhnul Kajman. Případně se ozvu v kategorii PHP s tím, že se mi to blbě vypisuje :-) Kajman: Ok, tak tedy zatím díky za info. Roztahovátka jsou na mě momentálně mimo rozsah mých schopností (javascript prozatím moc neovládám). |
||
Alphard Profil |
#9 · Zasláno: 21. 6. 2012, 23:02:22
[#8] abc
Ano, nebyl to stejný problém, ale podobný. Nicméně velkou část databáze jsem udělal normalizovaně (jak radí Kajman), ale pár tabulek jsem denormalizoval, v té chvíli mi to přišlo jako docela dobrý nápad. Později jsem zjistil, že to asi dobrý nápad nebyl a předělal jsem to, dokud to nebylo moc pracné. Takže radím udělat to pomocí intervalů i kdyby mělo na týden padnout 7*24 řádků. |
||
Časová prodleva: 15 dní
|
|||
abc Profil |
#10 · Zasláno: 6. 7. 2012, 15:06:42
Ahoj,
tak jsem nic jiného nevymyslel (překvapivě :-)) a vrhnul jsem se na programování Kajmanova návrhu. Měl bych k tomu ještě několik dotazů: a) proč si ceny neukládat rovnou tabulce sezony. Vždy bude přeci jedna cena k jedné sezóně b) pokud to budu normalizovat, tak přemýšlím, zda je vhodnější mít v tabulce sezóny id_ceny a tabulku sezony_ceny a v ní id_ceny a cena nebo mít pouze v sezony_ceny sloupce id_sezony a cena Díky za názory. |
||
Kajman Profil |
#11 · Zasláno: 6. 7. 2012, 17:19:08
Pokud mají různá sportoviště stejnou cenu a mění se najednou, případně jedno sportoviště více termínu se stejnou cenou, bude lepší id_ceny. Záleží na tom, jak to chtějí editovat.
|
||
Časová prodleva: 12 let
|
0