Síť hotelů Databázové systémy I LS 2015/2016 Marek Migaš Patrik Musil
Zadání: Naše celosvětová síť má tisíce hotelů na všech světadílech kromě Antarktidy. Pro naše zákazníky bychom chtěli vytvořit novou mobilní aplikaci, která by umožňovala jejich pohodlnější rezervaci. Současně s tím bychom rádi provedli revizi celého našeho informačního systému. Pro lepší organizaci máme naše hotely rozděleny do regionů. Do regionu může spadat více zemí, ale také země může být rozdělena na více regionů, za které zodpovídá ředitel regionu. Ten se zodpovídá pouze generálnímu manažerovi, celé naší sítě hotelů. Za každý hotel je zodpovědný ředitel hotelu, kterému jsou zodpovědní vedoucí jednotlivých oddělení. Oddělením si můžete představit na příklad recepce, úklid, kuchyně apod. Každý zaměstnanec hotelu pracuje vždy na právě jednou oddělení. Našim zákazníkům nabízíme veliké množství hotelů. Jednotlivé hotely se liší svým zázemím (bazén, sauna, fit centrum, ). Ke každému zázemí v hotelu je zpravidla přidán i podrobnější popis. Každý hotel má samozřejmě své pokoje a ty se pro změnu liší svým vybavením (televize, lednička, vana, ). U pokojů samozřejmě evidujeme taky počet lůžek a jejich typ. Důležité je i podlaží. Dále pak potřebujeme mít možnost našim zákazníkům sdělit, kolik mají pokoje oken a na kterou světovou stranu jsou orientována, protože to některé z našich zákazníků zajímá. Pro využití aplikace rezervací je nutné vyplnit osobní údaje, jako jsou jméno, příjmení, datum narození a číslo bankovního spojení. V rámci rezervace chceme zákazníkům umožnit výběr dle jejich preferencí. Zákazník si stanoví termín, lokalitu a požadavky na zařízení. Aplikace mu pak nabídne, aby si vybral, který pokoj mu nejvíce vyhovuje, a zarezervoval si ho. Platba je provedena již při registraci. Registraci je možné zrušit tři dny předem bez pokuty. Pozdější zrušení rezervace znamená již 50% pokutu. Při ubytování se zákazník musí nahlásit na recepci a ověřit se pomocí cestovního nebo osobního dokladu. Recepční zapíše do systému jméno, příjmení, datum narození a číslo dokladu všech ubytovaných osob. Samozřejmě ubytováváme i osoby, které si u nás pokoj nerezervovaly. Chceme mít vždy přehled, kdy kdo v daném pokoji nocoval. Zákazník si může vybrat, zda se bude v hotelu stravovat. Pokud ano, na výběr má ze tří variant pouze snídaně, polopenze a plná penza. U pokojů s minibarem každý den při úklidu hotelová služba zjistí stav minibaru a chybějící položky doplní a zaznamená, co bylo doplněno, aby to mohlo být zákazníkovi naúčtováno. Chceme také vědět, kdo úklid prováděl v případě možných stížností zákazníků. Některé z našich hotelů nabízejí i speciální služby jako masáže apod., které bývají účtovány. Zákazník je však může zaplatit všechny najednou. Stejně tak i svou útratu v baru. Věříme, že rezervační systém naše zákazníky potěší. Do budoucna zvažujeme i možnost slev za věrnost.
Maticový diagram Mendelova univerzita v Brně
Vztahy popsané pomocí ERDish Každá země může obsahovat jeden nebo více hotelů Každý hotel musí patřit do právě jedné země Každý region musí obsahovat jeden nebo více hotelů Každý hotel musí patřit do právě jednoho regionu Každý hotel musí nabízet jedno nebo více druhů zázemí Každé zázemí musí byt nabízeno právě jedním hotelem Každý hotel musí mít jeden nebo více pokojů Každý pokoj se musí nacházet v právě jednom hotelu Každý pobyt musí byt hrazen právě jednou platbou Každá platba musí hradit právě jeden pobyt Každý zákazník si může koupit jeden nebo více pobytů Každý pobyt je zakoupen právě jedním zákazníkem Každý pobyt muže obsahovat pávě jeden typ stravy Každý typ stravy musí patřit k právě jednomu pobytu Každý region musí byt řízen právě jedním regionálním ředitelem Každý regionální ředitel může řídit právě jeden region Každý hotel musí byt řízen právě jedním ředitelem hotelu Každý ředitel hotelu musí řídit právě jeden hotel Každý regionální ředitel musí byt odpovědný právě jednomu generálnímu manažeři Každý generální manažer může mít na odpovědnost jednoho nebo více regionálních ředitelů Každý zaměstnanec může pracovat na právě jednom oddělení Každé oddělení může zaměstnat jednoho nebo více zaměstnanců Každá speciální služba může být přikoupená k jednomu nebo více pobytů Každý pobyt musí přikupovat jednu nebo více speciálních služeb
Každý pokoj musí být vybavený jedním nebo více vybavením Každý vybavení musí vybavovat právě jeden pokoj Každý pokoj může mít jedno nebo více doplnění minibaru Každý doplnění minibaru musí probíhat v právě jenom pokoji Každá položka minibaru se může nacházet v jednom nebo více doplnění minibaru Každý doplnění minibaru musí doplňovat právě jednu položku Každý zaměstnanec může pracovat na jednom nebo více úklidu pokoje Každý úklid pokoje musí zaměstnávat právě jednoho zaměstnance Každý úklid pokoje musí uklidit právě jeden pokoj Každý pokoj musí být uklizen jedním nebo více úklidy pokoje Každý pokoj musí mít jedno nebo více pokoj okna Každý pokoj okna musí být v právě jednom pokoji Každý pokoj okna musí mít právě jedno okno Každé okno se musí nacházet v jednom nebo více pokoj okna
ER-diagram Mendelova univerzita v Brně
Integritní omezení Procedurální: Každý pokoj je uklízen každý den. U pokojů s minibarem je zaznamenán stav minibaru a položky, které chybějí, jsou naúčtovány na účet zákazníka. Při registraci je nutno zadat osobní údaje a bankovní spojení. Registraci je možno bezplatně zrušit 3 dni předem bez pokuty. Pak pokuta činí 50%. Strukturální: Počet pokojů v hotelu > 0 Počet oken v pokoji > 0 Počet postelí v pokoji > 0 Jméno, příjmení zákazníka: textový řetězec(varchar) Datum od, Datum do: DateTime
Závěr Podle zadání jsme vytvořili entitně relační model. Začali jsme maticovým diagramem. Pomocí maticového diagramu jsme začali tvořit ER diagram, který nám zabral nejvíce času. Macitový diagram se nám nezdál moc užitečný, protože finální ER diagram vypadal velmi odlišně než původní model vycházející z matice. Poté jsme sepsali vztahy entit pomocí ERDish. Při tvorbě ERDish jsme si ověřili správnost vztahů a také jsme došli k tomu, že některé naše entity a vztahy se nejmenují zrovna ideálně.