| Version 10 (modified by , 13 days ago) ( diff ) |
|---|
ЕР Дијаграм
Ентитети
API_USER
Ги содржи основните податоци за сите корисници на системот. Секој корисник има една улога и може да биде администратор, клиент или доставувач.
- user_id – единствен идентификатор на корисникот и примарен клуч.
- user_first_name – име на корисникот.
- user_last_name – презиме на корисникот.
- user_email – единствена адреса за електронска пошта со проверка на форматот.
- user_phone_no – изборен и единствен телефонски број со проверка на форматот.
- user_role – улога на корисникот; дозволени вредности се api_admin, customer и driver.
COMPANY
Ги претставува компаниите чии вработени можат да нарачуваат преку системот.
- company_id – единствен идентификатор на компанијата и примарен клуч.
- company_name – единствено име на компанијата.
- company_address – адреса на компанијата на која се организира доставата.
RESTAURANT
Ги содржи рестораните што нудат храна и пијалоци и соработуваат со компаниите.
- rest_id – единствен идентификатор на ресторанот и примарен клуч.
- rest_name – име на ресторанот.
- rest_email – единствена адреса за електронска пошта со проверка на форматот.
- rest_location – физичка локација или адреса на ресторанот.
- rest_phone – единствен телефонски број со проверка на форматот.
- rest_website – изборна и единствена веб-страница на ресторанот.
CATEGORY
Служи за групирање на јадењата според нивниот вид.
- cat_id – единствен идентификатор на категоријата и примарен клуч.
- cat_name – единствено име на категоријата.
- cat_description – изборен опис на категоријата.
CONTRACT_STATUS
Ги дефинира можните статуси на договорите меѓу компаниите и рестораните.
- contract_status_id – единствен идентификатор на статусот и примарен клуч.
- contract_status_name – единствен назив на статусот на договорот.
CUSTOMER_LOYALTY_STATUS
Ги дефинира можните статуси на членството во програмата за лојалност.
- cus_loyalty_status_id – единствен идентификатор на статусот и примарен клуч.
- cus_loyalty_status_name – единствен назив на статусот на лојалност.
DELIVERY_STATUS
Ги дефинира состојбите низ кои може да помине една достава.
- d_status_id – единствен идентификатор на статусот и примарен клуч.
- d_status_name – единствен назив на статусот на доставата.
ORDER_STATUS
Ги дефинира можните статуси на клиентските нарачки.
- o_status_id – единствен идентификатор на статусот и примарен клуч.
- o_status_name – единствен назив на статусот на нарачката.
INGREDIENT
Ги претставува состојките што се користат за подготовка на јадењата.
- ingr_id – единствен идентификатор на состојката и примарен клуч.
- ingr_name – единствено име на состојката.
ALERGEN
Ги содржи алергените што можат да бидат присутни во состојките.
- alergen_id – единствен идентификатор на алергенот и примарен клуч.
- alergen_name – единствено име на алергенот.
- alergen_description – изборен опис на алергенот и неговото влијание.
LOYALTY_TIER
Ги дефинира нивоата и поволностите во програмата за лојалност.
- tier_id – единствен идентификатор на нивото и примарен клуч.
- tier_name – единствено име на нивото.
- tier_minimum_points – минимален број поени потребни за нивото; не смее да биде негативен.
- tier_maximum_points – максимален број поени за нивото; мора да биде еднаков или поголем од минималниот број.
- tier_discount_percentage – процент на попуст во интервал од 0 до 100.
- tier_free_delivery_eligibility – означува дали нивото овозможува бесплатна достава.
- tier_priority_support – означува дали нивото овозможува приоритетна поддршка.
- tier_created_at – датум на создавање на нивото.
- tier_update_at – датум и време на последното ажурирање на нивото.
REVIEW
Ги чува заедничките информации за рецензиите на нарачките и доставите.
- review_id – единствен идентификатор на рецензијата и примарен клуч.
- review_comment – изборен текстуален коментар.
- review_created_at – датум и време на создавање на рецензијата.
- review_rating – општа оцена во интервал од 1 до 5.
API_ADMIN
Ги претставува администраторите и рестораните со кои тие управуваат.
- user_id – идентификатор на корисникот и примарен клуч; мора да постои како корисник со администраторска улога.
- user_role – фиксна улога со вредност api_admin.
- rest_id – идентификатор на ресторанот со кој е поврзан администраторот.
CUSTOMER
Ги претставува клиентите, односно вработените што создаваат нарачки преку системот.
- user_id – идентификатор на корисникот и примарен клуч; мора да постои како корисник со клиентска улога.
- user_role – фиксна улога со вредност customer.
- company_id – идентификатор на компанијата во која работи клиентот.
DRIVER
Ги претставува доставувачите ангажирани од рестораните.
- user_id – идентификатор на корисникот и примарен клуч; мора да постои како корисник со улога на доставувач.
- user_role – фиксна улога со вредност driver.
- rest_id – идентификатор на ресторанот за кој работи доставувачот.
CONTRACT
Ја претставува деловната соработка меѓу една компанија и еден ресторан во определен временски период.
- contract_id – единствен идентификатор на договорот и примарен клуч.
- company_id – идентификатор на компанијата што учествува во договорот.
- contract_end_date – краен датум на договорот.
- contract_start_date – почетен датум на договорот.
- contract_status_id – идентификатор на тековниот статус на договорот.
- rest_id – идентификатор на ресторанот што учествува во договорот.
Крајниот датум на договорот не смее да биде пред почетниот датум.
DELIVERY
Ги содржи информациите за транспортот на заедничката нарачка до компанијата.
- delivery_id – единствен идентификатор на доставата и примарен клуч.
- delivery_date – датум на доставување; стандардно се поставува тековниот датум.
- delivery_notes – изборни дополнителни забелешки за доставата.
- d_status_id – идентификатор на статусот на доставата.
- driver_user_id – изборен идентификатор на назначениот доставувач.
COMPANY_ORDER
Претставува заедничка компаниска нарачка во која се групираат индивидуалните нарачки на вработените.
- comp_order_id – единствен идентификатор на компаниската нарачка и примарен клуч.
- company_id – идентификатор на компанијата за која е создадена нарачката.
- delivery_id – изборен и единствен идентификатор на доставата поврзана со нарачката.
MEAL
Ги претставува јадењата што рестораните ги нудат во своите менија.
- meal_id – единствен идентификатор на јадењето и примарен клуч.
- cat_id – идентификатор на категоријата во која припаѓа јадењето.
- meal_description – изборен опис на јадењето.
- meal_name – име на јадењето; мора да биде единствено во рамките на ресторанот.
- meal_price – цена на јадењето; не смее да биде негативна.
- meal_weight – тежина на јадењето; мора да биде поголема од нула.
- rest_id – идентификатор на ресторанот што го нуди јадењето.
DRINK
Ги претставува пијалоците што рестораните ги нудат во своите менија.
- drink_id – единствен идентификатор на пијалокот и примарен клуч.
- drink_milliliters – количина на пијалокот во милилитри; мора да биде поголема од нула.
- drink_name – име на пијалокот; мора да биде единствено во рамките на ресторанот.
- drink_price – цена на пијалокот; не смее да биде негативна.
- rest_id – идентификатор на ресторанот што го нуди пијалокот.
CUSTOMER_LOYALTY
Го следи учеството на секој клиент во програмата за лојалност.
- cus_loyalty_id – единствен идентификатор на членството и примарен клуч.
- cus_loyalty_curr_points – тековен број поени; почнува од нула и не смее да биде негативен.
- cus_loyalty_joined_at – датум и време кога клиентот се приклучил на програмата.
- cus_loyalty_status_id – идентификатор на статусот на членството.
- user_id – единствен идентификатор на клиентот; еден клиент може да има само едно членство.
- tier_id – идентификатор на тековното ниво на лојалност.
CUSTOMER_ORDER
Претставува индивидуална нарачка создадена од конкретен клиент.
- order_id – единствен идентификатор на нарачката и примарен клуч.
- comp_order_id – идентификатор на компаниската нарачка во која е вклучена.
- customer_user_id – идентификатор на клиентот што ја создал нарачката.
- order_datetime – датум и време на создавање на нарачката.
- o_status_id – идентификатор на статусот на нарачката.
- order_total – вкупен износ на нарачката; почнува од нула и не смее да биде негативен.
INVOICE
Претставува фактура издадена за една заедничка компаниска нарачка.
- invoice_id – единствен идентификатор на фактурата и примарен клуч.
- comp_order_id – единствен идентификатор на компаниската нарачка; за една нарачка може да постои најмногу една фактура.
LUNCH_TIME
Ги дефинира термините за ручек и временските правила поврзани со договорот.
- lunch_time_id – единствен идентификатор на терминот и примарен клуч.
- comp_order_id – изборен идентификатор на компаниската нарачка поврзана со терминот.
- contract_id – идентификатор на договорот за кој е дефиниран терминот.
- lunch_end – датум и време на завршување на терминот.
- lunch_preorder_offset – дозволено време за предвремено нарачување; не смее да биде негативно.
- lunch_start – датум и време на почеток на терминот.
- lunch_weekday – ден во неделата за кој важи терминот.
Времето на завршување мора да биде по времето на почеток.
MEAL_INGREDIENT
Ја претставува врската повеќе-спрема-повеќе меѓу јадењата и состојките.
- ingr_id – идентификатор на состојката.
- meal_id – идентификатор на јадењето.
Комбинацијата од двата идентификатори е единствена и претставува сложен примарен клуч.
ALERGEN_INGREDIENT
Ја претставува врската повеќе-спрема-повеќе меѓу алергените и состојките.
- alergen_id – идентификатор на алергенот.
- ingr_id – идентификатор на состојката.
Комбинацијата од двата идентификатори е единствена и претставува сложен примарен клуч.
ORDER_MEAL
Ги поврзува индивидуалните нарачки со избраните јадења.
- meal_id – идентификатор на избраното јадење.
- order_id – идентификатор на нарачката во која е вклучено јадењето.
Комбинацијата е сложен примарен клуч, поради што истото јадење може да се појави само еднаш во една нарачка.
ORDER_DRINK
Ги поврзува индивидуалните нарачки со избраните пијалоци.
- drink_id – идентификатор на избраниот пијалок.
- order_id – идентификатор на нарачката во која е вклучен пијалокот.
Комбинацијата е сложен примарен клуч, поради што истиот пијалок може да се појави само еднаш во една нарачка.
DELIVERY_REVIEW
Содржи дополнителни оценки поврзани со конкретна достава.
- delivery_review_id – единствен идентификатор на рецензијата за достава и примарен клуч.
- del_review_courier_rating – оцена за доставувачот во интервал од 1 до 5.
- del_review_speed_rating – оцена за брзината на доставата во интервал од 1 до 5.
- delivery_id – единствен идентификатор на оценетата достава; една достава може да има најмногу една рецензија.
- review_id – единствен идентификатор на основната рецензија.
ORDER_REVIEW
Содржи дополнителни оценки поврзани со конкретна клиентска нарачка.
- order_review_id – единствен идентификатор на рецензијата за нарачка и примарен клуч.
- order_id – единствен идентификатор на оценетата нарачка; една нарачка може да има најмногу една рецензија.
- order_review_food_rating – оцена за храната во интервал од 1 до 5.
- order_review_res_rating – оцена за ресторанот во интервал од 1 до 5.
- review_id – единствен идентификатор на основната рецензија.
Attachments (3)
- kbnteam_ERDiagram.jpg (309.5 KB ) - added by 5 months ago.
- kbnteam_ERDiagram_ver2.jpg (309.5 KB ) - added by 5 months ago.
-
advdb.jpg
(304.7 KB
) - added by 2 weeks ago.
kbnteamER_Diagram_final
Download all attachments as: .zip

