= Верзија 1 == Дијаграм [[Image(ERModel_v1.jpg)]] == Податочни побарувања == Ентитети '''1. Villa''' - ентитет за објекти кој ги нудат сите услиги и за кои се резервира. * Примарен клуч: villa_id - број за разликување на инстанци од вили во комплексот(нумерички тип, задолжителен) ''Атрибути:'' * name - текстуален тип, задолжителен * location - текстуален тип, задолжителен * villa_view_type - текстуален тип, задолжителен '''2.Reservation''' - ентитет за избор и правење на резервација * Примарен клуч: reservation_id - број за разликување на инстанци од резервации(нумерички тип , задолжителен) ''Атрибути:'' * start_date - тип датум, задолжителен * end_date - тип датум, задолжителен * number_guests - нумерички тип, задолжителен * children - нумерички тип * adults - нумерички тип, задолжителен '''3.Rooms''' - ентитет кој ја дефинира собата * Примарен клуч: room_id - број за разликување на инстанци од соби(нумерички тип, задолжителен) ''Атрибути:'' * price - нумерички тип, задолжителен * availability - boolean тип, задолжителен * room_type - текстуален тип, задолжителен '''4.Prepared Meal''' - слаб ентитет кој го дефинира приготвениот оброкот и го наследува неговиот примарен клуч * Примарен клуч: meal_id '''5.Meal''' - ентитет за сите видови на оброци кои ги нуди ресторанот * Примарен клуч:meal_id - број за разликување на инстанци од оброци(нумерички тип, задолжителен) ''Атрибути:'' * price - нумерички тип, задолжителен * meal_type - текстуален тип, задолжителен '''6.Product''' - ентитет кој дефинира одреден продукт * Примарен клуч: product_id - број за разликување на инстанци од продукти(нумерички тип, задолжителен) ''Атрибути:'' * product_type - текстуален тип, задолжителен * number_of_products - нумерички тип, задолжителен '''7.Events''' - ентитет кој ги дефинира настаните во комплексот * Примарен клуч: event_id - број за разликување на инстанци од настани(нумерички тип, задолжителен) ''Атрибути:'' * event_type - текстуален тип, задолжителен * price - нумерички тип, задолжителен * number_of_interested_guests - нумерички тип '''8.Activities''' - ентитет кој ги дефинира активностите во комплексот * Примарен клуч:activity_id - број за разликување на инстанци од активности(нумерички тип, задолжителен) ''Атрибути:'' * activity_type - текстуален тип, задолжителен * location - текстуален тип, задолжителен * price - нумерички тип, задолжителен * number_of_interested_guests - нумерички тип '''9.Service''' - ентитет кој ги дефинира видовите на услуги кои ги нуди комплексот * Примарен клуч:service_id - број за разликување на инстанци од услуги(нумерички тип, задолжителен) ''Атрибути:'' * price - нумерички тип, задолжителен * service_type - текстуален тип, задолжителен '''10.User''' - ентитет за корисникот кој се логира, од кој наследуваат 4 други ентитети. * Примарен клуч: user_id - број за разликување на инстанци од корисници(нумерички тип, задолжителен) ''Атрибути:'' * EMBG - текстуален тип, задолжителен * email - текстуален тип, задолжителен * address - текстуален тип, задолжителен * phone_number - текстуален тип, задолжителен '''11.Login''' - ентитет за најава на корисник во системот * Примарен клуч: login_id ''Атрибути:'' * username - текстуален тип, задолжителен * password - текстуален тип, задолжителен '''12.Guests''' - ентитет кој го дефинира гостинот и наследува од User * Примарен клуч: user_id ''Атрибути:'' * passport_number - текстуален тип, задолжителен '''13.Server''' - ентитет кој го дефинира вработениот кој врши услуга и наследува од User * Примарен клуч: user_id ''Атрибути:'' * shift - текстуален тип, задолжителен * salary - нумерички тип, задолжителен '''14.Receptionist''' - ентитет кој го дефинира вработениот на позиција рецепционист и наследува од User * Примарен клуч: user_id ''Атрибути:'' * shift - текстуален тип, задолжителен * salary - нумерички тип, задолжителен '''15.Chef''' - ентитет кој го дефинира вработениот во кујна и наследува од User * Примарен клуч: user_id ''Атрибути:'' * shift - текстуален тип, задолжителен * salary - нумерички тип, задолжителен '''16.Beverage''' - ентитет за дефинирање на пијалок * Примарен клуч: beverage_id - број за разликување на инстанци од пијалоци(нумерички тип, задолжителен) ''Атрибути:'' * price - нумерички тип, задолжителен * beverage_type - текстуален тип, задолжителен '''17.Payment''' - ентитет за извршена наплата, од кој наследуваат 2 други ентитета * Примарен клуч: payment_id - број за разликување на инстанци од наплати (нумерички тип, задолжителен) ''Атрибути:'' * total_payment - нумерички тип, задолжителен * rec_id - нумерички тип, задолжителен * pay_date - тип дата, задолжителен * customer_id - нумерички тип, задолжителен '''18.On site''' - ентитет за наплата во живо, кој наследува од Payment * Примарен клуч: payment_id ''Атрибути:'' * currency - текстуален тип, задолжителен * payment_type - текстуален тип, задолжителен '''19.Online''' - ентитет за наплата online, кој наследува од Payment * Примарен клуч:payment_id ''Атрибути:'' * card_number - текстуален тип, задолжителен == Релации '''1.user_has_login''' - еден корисник може да има N најави, додека една најава може да е направена само од еден корисник '''2.receptionist_process_payment_onsite'''- рецепционерот може да процесира N плаќања, додека плаќањето може да биде процесирано од 1 рецепционер '''3.guests_make_payment''' - гостите може да направат N плаќања, додека плаќањето може да биде направено само од 1 гостин '''4.guests_make_reservation''' - резервација може да се прави од N гости и N гости може да прават резервации '''5.payment_for_reservation''' - плаќањето може да се изврши за N резервации, додека резервацијата е наплатена од 1 плаќање '''6.reservation_for_service''' - резервацијата може да биде за N опслужувања, додека опслужувањето се резервира од 1 резервација '''7.reservation_for_rooms''' - собата може да има N резервации, додека резервацијата може да биде за 1 соба '''8.reservation_for_events''' - резервацијата може да биде направена за N настани, и за еден настан може да има N резервации '''9.reservation_for_activity''' - резервацијата може да биде направена за N активности, и за една активност може да има N резервации '''10.reservation_for_meal''' - резервацијата може да биде направена за N оброци, и за еден оброк може да има N резервации ''Атрибут'': quantity '''11.reservation_in_villa''' - вилата може да има N резервации, додека резервацијата е за 1 вила '''12.villa_has_rooms''' - вилата има N соби, а собата може да биде само во 1 вила '''13.rooms_has_service''' - собата може да има N опслужувања, додека опслужувањето се врши за 1 соба '''14.server_do_service''' - келнерот врши N опслужувања, а опслужувањето се врши од 1 келне.р '''15.service_for_beverages''' - опслужувањето може да биде за N пијалоци ''Атрибут: quantity'' '''16.preparedmeal_from_meal''' - порцијата е од 1 оброк, а оброкот може да има N порции '''17.meal_madeof_product''' - продуктот може да се користи во N оброци, и оброкот може да е направен од N продукти '''18.chef_prepares_meal''' - готвачот може да направи N оброци, а оброкот е направен од 1 готвач == Историјат