== Relational Model = Relational diagram [[Image(RelationalModel.png)]] * Преку ентитетот '''User''', кој претставува супертип и од кој се изведени подтиповите Guest и Host e применет концептот на '''специјализација'''. Овој пристап е top-down дизајн, каде што од општиот ентитет User се дефинираат подгрупи на корисници кои имаат специфични карактеристики и функционалности. Подтиповите Guest и Host претставуваат различни категории на корисници кои преку ISA релацијата ги наследуваат сите атрибути и врски од ентитетот User а имаат и сопствени атрибути и учествуваат во различни релации во системот. * Сегментот '''Camplocation – Availability – Reservation''' е моделиран одделно за да се овозможи прецизно управување со достапноста на кампинг локациите. Наместо достапноста да биде само како атрибут во ентитетот Camplocation, таа е претставена како посебен ентитет Availability, што овозможува евиденција по конкретни датуми и статуси. Идејата е за секоја кампинг локација да може да се дефинираат повеќе записи со достапност во различни денови, со што се овозможува прецизно следење на слободни и зафатени термини. Ентитетот Reservation ги поврзува корисниците со локациите за одреден временски период, при што системот ја проверува достапноста пред креирање на резервација. На овој начин се спречуваат двојни резервации и се овозможува поголема флексибилност при управување со термините. * Ентитетот '''Pricehistory''' е воведен со цел да се следат промените на цените низ времето.Ова е корисно за анализа на цените, споредба на цените по сезона и слично. * Сегментот за '''Equipment - Equipmentype - Equipmentrental''' е моделиран во три нивоа. Equipmentype го дефинира типот на опрема, Equipment претставува конкретна опрема поврзана со камп локација и нејзина количина, а Equipmentrental овозможува следење на изнајмувањето по датум и количина. Овој пристап е корисен бидејќи системот точно знае колку опрема е достапна во даден момент. Дополнително, се избегнуваат конфликти при изнајмување, како што е резервирање на повеќе опрема отколку што е реално достапно. Ваквата структура овозможува и лесно проширување на системот со нови типови опрема и подобра контрола и евиденција на користењето на опремата. * Ентитетот '''Reservationstatus''' е издвоен како посебен ентитет за да се овозможи секоја промена на статус да може да има свои дополнителни информации. Во ентитетот Reservationstatus покрај самиот статус, се чуваат и атрибути како refund_amount и cancellation_date, кои се директно поврзани со промената на статусот.