== ЕР Дијаграм == Податочни побарувања === Ентитети **ARTICLE** - ентитет кој чува податоци за артикли достапни во дистрибуцијата. * article_id bigint, примарен клуч * article_name string, задолжителен * article_image string, задолжителен * article_weight int, задолжителен * article_price decimal, задолжителен ARTICLE_UNIT - ентитет кој чува податоци за единки од артикл. * unit_id int, примарен клуч * expiration_date date, задолжителен * serial_number string, задолжителен * batch_number string, задолжителен * manufacture_date date, задолжителен * cost_price decimal, задолжителен CATEGORY - ентитет кој чува податоци за категории на артикли. * category_id int, примарен клуч * category_name string, задолжителен CITY - ентитет кој чува податоци за градови. * city_id int, примарен клуч * city_name string, задолжителен CUSTOMER - ентитет кој чува податоци за потрошувачи (специјализација од USER). * customer_EDB int, задолжителен * customer_company_name string, задолжителен * customer_address string, задолжителен * customer_open_time time, задолжителен * customer_close_time time, задолжителен DELIVERY - ентитет кој чува податоци за достави. * delivery_id int, примарен клуч * delivery_status enum, задолжителен * delivery_date_created date, задолжителен * delivery_date date, задолжителен DRIVER - ентитет кој ги претставува корисниците - возачи (специјализација од USER). MANAGER - ентитет кој ги претставува корисниците - менаџери (специјализација од USER). ORDERS - ентитет кој чува податоци за нарачки направени од некој потрошувач. * order_id bigint, примарен клуч * order_date date, задолжителен * order_status enum, задолжителен * order_sum int, задолжителен * order_fulfillment_date timestamp PRO_FORMA - ентитет кој чува податоци за про-фактури. * pro_forma_id bigint, примарен клуч * pro_forma_status enum, задолжителен * pro_forma_deadline date, задолжителен * pro_forma_date_created date, задолжителен USER - ентитет кој чува податоци за корисниците. * user_id bigint, примарен клуч * user_name string, задолжителен * user_surname string, задолжителен * user_email string, задолжителен * user_mobile string, задолжителен VEHICLE - ентитет кој чува податоци за возила со кои се вршат достави. * vehicle_id int, примарен клуч * vehicle_carry_weight int, задолжителен * vehicle_service_interval int, задолжителен * vehicle_kilometers int, задолжителен WAREHOUSE - ентитет кој чува податоци за магацини на дистрибуцијата. * warehouse_id int, примарен клуч * warehouse_address string, задолжителен === Релации belongs_to - релација помеѓу WAREHOUSE и VEHICLE која означува дека едно возило припаѓа на некој магацин. Едно возило мора да припаѓа само на еден магацин, а еден магацин може да има 0 или повеќе возила. creates_order - релација помеѓу CUSTOMER и ORDERS која означува креирање на една нарачка од страна на потрошувач. Еден потрошувач може да има 0 или повеќе нарачки а една нарачка мора да биде направена од еден потрошувач. delivers - релација помеѓу DELIVERY и VEHICLE која означува кое возило ја врши одредена достава. Една достава мора да биде извршена од едно возило, а едно возило може да има извршено 0 или повеќе достави. drives - релација помеѓу DRIVER и VEHICLE која означува кој возач одговара и управува со кое возило. Секој возач мора да има едно возило и секое возило мора да биде управувано од еден возач. from_category - релација помеѓу CATEGORY и ARTICLE која означува од која категорија е еден артикл. Еден артикл мора да има една категорија, а една категорија може да има 0 или повеќе артикли асоцирани со неа. generates - релација помеѓу ORDERS и PRO_FORMA која означува од која нарачка е одредена про-фактура. Една про-фактура мора да биде асоцирана со една нарачка, а една нарачка може да има 0 или 1 про-фактура. in_stock - релација помеѓу ARTICLE_UNIT и WAREHOUSE која означува една единка од некој артикл во кој магацин се наоѓа. Една единка мора да припаѓа на еден а може и на повеќе магацини, а еден магацин може да има 0 или повеќе единки од некој артикл. located_in - релација помеѓу CITY и USER која означува од кој град е еден корисник. Еден град може да има 0 или повеќе корисници, а еден корисник мора да биде асоциран со еден град. manages - релација помеѓу MANAGER и WAREHOUSE која означува кој менаџер управува со одреден магацин. Еден менаџер мора да управува само со 1 магацин и 1 магацин мора да биде управуван од само 1 менаџер. order_contains - релација помеѓу ORDERS и ARTICLE_UNIT која означува една нарачка кои единки од некој артикл ги содржи. Една нарачка мора да има барем 1 единка од некој артикл, а една единка од артикл може да биде асоцирана само со 1 нарачка. shipping - релација помеѓу ORDERS и DELIVERY која означува која нарачка со која достава ќе се достави. Една нарачка мора да припаѓа на само една достава, а една достава мора да има барем 1 нарачка. unit_of_article - релација помеѓу ARTICLE и ARTICLE_UNIT која означува од кој артикл е една единка-артикл. Една единка артикл мора да припаѓа на само 1 артикл, а еден артикл може да има 1 или повеќе единки. warehouse_location - релација помеѓу WAREHOUSE и CITY која означува во кој град се наоѓа еден магацин. Во еден град може да има 1 или повеќе магацини, а еден магацин мора да биде од само 1 град. == Историјат