Návrh databázy a logiky pre Rezervačný systém.
Zdravím,
mám vytvoriť Rezervačný systém pre malý hotel, avšak v tomto smere nemám žiadne skúsenosti. Poprosil by som poradiť, ako navrhnúť logiku a tabulky v mysql databáze, tak aby to bolo čo najjednoduchšie.
Vytvárané to bude v PHP.
Požiadavky to má zhruba:
podľa zadaného dátumu chcem vypísať voľné izby k danému dátumu, izby bude možné zamknúť, izby bude možné používať len v niektorý deň v týždni, budem si vedieť pozrieť, kto má kedy izbu rezervovanú.. resp. zoznam rezervácií.
Ďakujem za každú dobre mienenú radu.
když si to znormalizuješ, vypadne ti pár tabulek: zákazníci, pokoje, rezervace (do rezervací si můžeš nějakou logikou přidat i "servisní" rezervace typu oprava, volné dny apod., případně to řešit separátní tabulkou napojenou na pokoje, ale pak budeš muset testovat dvě tabulky při dotazu na volné pokoje). Relace jsou IMHO celkem jasné a jednoduché, tvé požadavky krásně zvládnou jednoduché a celkem snadno postavitelné dotazy.
Tak by to bolo asi najjednoduchšie, mať tabuľku zákazníkov, izieb a rezervacií. Chcel by som v RS zobraziť len počet voľných izieb jedného druhu a nie každú jednu zvlášť. Ako ich potom vyberať z tabuľky izby a rezervovať, prípadne počítať koľko ich mám voľných?
Možno dávam blbé otázky, ale nejako mi to "nezapína" .
Kazdy pokoj musi mit u sebe pocet mist, jestli je mozna pristylka, informace o prislusenstvi, vybaveni a take nejakou kategorii pokoju.
Ty pak vyberes pro danou kategorii pokoje, ktere nemaji na dany termin zaznam v tabulce rezervaci.
Ale jak jsi psal, nevis o tom nic.
Njlepsi by bylo se sebrat, vzit si sebou tuzku a papir a navstivit ten hotel. Muis si promluvit s lidmi na recepci, jak to probiha v realu. Jinak stvoris nejaky uzasny rezervacni system, ktery bude naprosto odtrzeny od reality a tim padem pro hotel i nepouzitelny.
Tyka se to hlavne struktury tabulek - jake informace chteji sledovat pro hosty, pokoje rezervace. Zjisti si jakym zpusobem se rezervuje, rusi rezervace. o vse musis vedet driv, nez zacnes premyslet o tabulkach.
A doporucuji kazdou nesrovnalost, na kterou narazis konzultovat s recepci. Hned ze zacatku ji vysvetli, ze pro ne delas rezervacni system, takze chces, aby jim vyhovoval co nejlip, ze kdyz se na tom budou podilet svym nazorem, atd...
To beriem, bez podrobných info o každom detaile to pôjde veľmi ťažko.
Práve preto si ale nechávam poradiť, aby som im nenasluboval nejaké somariny, ktoré potom bude len veľmi komplikované previesť do reálu. SELECTY na existujúce tabuľky nie je problém urobiť. Mierim skôr tým smerom, zohľadniť ich požiadavky, ale navrhnúť databázu tak, aby nebolo problém v nej robiť prípadné rozšírenia. /Napr. prístavba nových izieb, či spolupráca s iným hotelom v prípade nedostatku kapacít./ Žiadne komplikované analýzy vo verzii 1.0 neplánujem.
Žiadne komplikované analýzy vo verzii 1.0 neplánujem
A to je chyba. Uz od zacatku musis pocitat s moznosti rozsirovani. Jakmile uvodni analyzu odflaknes, vrati se ti to v budoucnu.
Velice jednoduse muzes analyzu udelat tak, ze si budes s lidmi povidat, jak to bezne s rezervacemi chodi. Jakmile narazis na nejaky termin typu pokoj, host, rezervace, typ pokoje, vybaveni pokoje, znamena to obvykle v OOP vytvorit, u tebe tabulku.
Pak si musis zjistit co nejvic informaci o kazdem terminu - zjistis si jeho vlastnosti.
Napr. "host" ma nejake jmeno, cislo dokladu, ... "pokoj" ma pocet luzek, koupelnu, zachod, moznost pristylky, televizi, lednicku, ... V takovem pipade srdecne doporucuji udela tabulku na veci, ktere se v pokoji vyskytuji - velmi ti to zjednodussi vybery typu "chci 2-luzkovy pokoj s koupelnou a televizi"
Rezervace bude spojeni tabulek host a pokoj, bude obsahovat pocet osob, termin, osobu, ktera rezervuje, stav rezervace (predbezna, potvrzena)
Fakst by to chtelo precist si nejake obecne zaklady provadeni analyzy. Jinak neco splacas od stolu a pak to zalezi na nahode, jestli se trefis do dobreho navrhu nebo ne. Ve druhem pripade to pri rozsirovani vetsinou znamena prepsat kus programu.
Ok pustím sa do analýzy a potom toto vlákno znova oživím, zatiaľ vďaka.
Jeste jednu dobrou radu.
Az budes mit analyzu, sepis to na papir, napis tam presne pozadavky zakaznika a jak je bude system resit a to si nechej zakaznikem podepsat.
Jakekoliv dalsi prace nad ramec takto podepsaneho projektu jsou placene. A pocitej s tim, ze jich bude hodne.
Hoste, JaFi ti nemůže přijít na jméno!
Nj, koukám.
Musel jsem dlouho premyslet, nez mi to doslo... Asi bych se mel jit vyspat
Nemuzu za to, ze sis zvolil "hotelovou" prezdivku
Jj, hosti do rezervace!
Ty hubice jedna nevymáchaná!