1 | | = ЕР Дијаграм |
| 1 | == ЕР Дијаграм |
| 2 | == Податочни побарувања |
| 3 | === Ентитети |
| 4 | **ARTICLE** - ентитет кој чува податоци за артикли достапни во дистрибуцијата. |
| 5 | * user_id bigint, примарен клуч |
| 6 | * user_name string, задолжителен |
| 7 | * user_surname string, задолжителен |
| 8 | * user_email string, задолжителен |
| 9 | * user_mobile string, задолжителен |
| 10 | |
| 11 | ARTICLE_UNIT - ентитет кој чува податоци за единки од артикл. |
| 12 | * expiration_date date, задолжителен |
| 13 | |
| 14 | CATEGORY - ентитет кој чува податоци за категории на артикли. |
| 15 | * category_id int, примарен клуч |
| 16 | * category_name string, задолжителен |
| 17 | |
| 18 | CITY - ентитет кој чува податоци за градови. |
| 19 | * city_id int, примарен клуч |
| 20 | * city_name string, задолжителен |
| 21 | |
| 22 | CUSTOMER - ентитет кој чува податоци за потрошувачи (специјализација од USER). |
| 23 | * customer_EDB int, задолжителен |
| 24 | * customer_company_name string, задолжителен |
| 25 | * customer_address string, задолжителен |
| 26 | * customer_working_hours ? |
| 27 | |
| 28 | DELIVERY - ентитет кој чува податоци за достави. |
| 29 | * delivery_id int, примарен клуч |
| 30 | * delivery_status enum, задолжителен |
| 31 | * delivery_date_created date, задолжителен |
| 32 | * delivery_date date, задолжителен |
| 33 | |
| 34 | DRIVER - ентитет кој ги претставува корисниците - возачи (специјализација од USER). |
| 35 | |
| 36 | MANAGER - ентитет кој ги претставува корисниците - менаџери (специјализација од USER). |
| 37 | |
| 38 | ORDERS - ентитет кој чува податоци за нарачки направени од некој потрошувач. |
| 39 | * order_id bigint, примарен клуч |
| 40 | * order_date_created date, задолжителен |
| 41 | * order_status enum, задолжителен |
| 42 | |
| 43 | PRO_FORMA - ентитет кој чува податоци за про-фактури. |
| 44 | * pro_forma_id bigint, примарен клуч |
| 45 | * pro_forma_status enum, задолжителен |
| 46 | * pro_forma_deadline date, задолжителен |
| 47 | * pro_forma_date_created date, задолжителен |
| 48 | |
| 49 | USER - ентитет кој чува податоци за корисниците. |
| 50 | * user_id bigint, примарен клуч |
| 51 | * user_name string, задолжителен |
| 52 | * user_surname string, задолжителен |
| 53 | * user_email string, задолжителен |
| 54 | * user_mobile string, задолжителен |
| 55 | |
| 56 | VEHICLE - ентитет кој чува податоци за возила со кои се вршат достави. |
| 57 | * vehicle_id int, примарен клуч |
| 58 | * vehicle_carry_weight int, задолжителен |
| 59 | |
| 60 | WAREHOUSE - ентитет кој чува податоци за магацини на дистрибуцијата. |
| 61 | * warehouse_id int, примарен клуч |
| 62 | * warehouse_address string, задолжителен |
| 63 | |
| 64 | === Релации |
| 65 | belongs_to - релација помеѓу WAREHOUSE и VEHICLE која означува дека едно возило припаѓа на некој магацин. Едно возило мора да припаѓа само на еден магацин, а еден магацин може да има 0 или повеќе возила. |
| 66 | |
| 67 | creates_order - релација помеѓу CUSTOMER и ORDERS која означува креирање на една нарачка од страна на потрошувач. Еден потрошувач може да има 0 или повеќе нарачки а една нарачка мора да биде направена од еден потрошувач. |
| 68 | |
| 69 | delivers - релација помеѓу DELIVERY и VEHICLE која означува кое возило ја врши одредена достава. Една достава мора да биде извршена од едно возило, а едно возило може да има извршено 0 или повеќе достави. |
| 70 | |
| 71 | drives - релација помеѓу DRIVER и VEHICLE која означува кој возач одговара и управува со кое возило. Секој возач мора да има едно возило и секое возило мора да биде управувано од еден возач. |
| 72 | |
| 73 | from_category - релација помеѓу CATEGORY и ARTICLE која означува од која категорија е еден артикл. Еден артикл мора да има една категорија, а една категорија може да има 0 или повеќе артикли асоцирани со неа. |
| 74 | |
| 75 | generates - релација помеѓу ORDERS и PRO_FORMA која означува од која нарачка е одредена про-фактура. Една про-фактура мора да биде асоцирана со една нарачка, а една нарачка може да има 0 или 1 про-фактура. |
| 76 | |
| 77 | in_stock - релација помеѓу ARTICLE_UNIT и WAREHOUSE која означува една единка од некој артикл во кој магацин се наоѓа. Една единка мора да припаѓа на еден а може и на повеќе магацини, а еден магацин може да има 0 или повеќе единки од некој артикл. |
| 78 | |
| 79 | located_in - релација помеѓу CITY и USER која означува од кој град е еден корисник. Еден град може да има 0 или повеќе корисници, а еден корисник мора да биде асоциран со еден град. |
| 80 | |
| 81 | manages - релација помеѓу MANAGER и WAREHOUSE која означува кој менаџер управува со одреден магацин. Еден менаџер мора да управува само со 1 магацин и 1 магацин мора да биде управуван од само 1 менаџер. |
| 82 | |
| 83 | order_contains - релација помеѓу ORDERS и ARTICLE_UNIT која означува една нарачка кои единки од некој артикл ги содржи. Една нарачка мора да има барем 1 единка од некој артикл, а една единка од артикл може да биде асоцирана само со 1 нарачка. |
| 84 | |
| 85 | shipping - релација помеѓу ORDERS и DELIVERY која означува која нарачка со која достава ќе се достави. Една нарачка мора да припаѓа на само една достава, а една достава мора да има барем 1 нарачка. |
| 86 | |
| 87 | unit_of_article - релација помеѓу ARTICLE и ARTICLE_UNIT која означува од кој артикл е една единка-артикл. Една единка артикл мора да припаѓа на само 1 артикл, а еден артикл може да има 1 или повеќе единки. |
| 88 | |
| 89 | warehouse_location - релација помеѓу WAREHOUSE и CITY која означува во кој град се наоѓа еден магацин. Во еден град може да има 1 или повеќе магацини, а еден магацин мора да биде од само 1 град. |
| 90 | == Историјат |