Changes between Version 6 and Version 7 of ERModel
- Timestamp:
- 12/14/24 16:17:59 (5 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ERModel
v6 v7 1 1 == ЕР Дијаграм 2 [[Image(DistributorApp_DB_Scheme_ver 3.png)]]2 [[Image(DistributorApp_DB_Scheme_ver4.png)]] 3 3 == Податочни побарувања 4 4 === Ентитети … … 8 8 * article_image string, задолжителен 9 9 * article_weight int, задолжителен 10 * article_price decimal, задолжителен11 10 12 11 **ARTICLE_UNIT** - ентитет кој чува податоци за единки од артикл. 13 * unit_id int, примарен клуч12 * unit_id bigint, примарен клуч 14 13 * unit_expiration_date date, задолжителен 15 14 * unit_serial_number string, задолжителен … … 28 27 29 28 **CUSTOMER** - ентитет кој чува податоци за потрошувачи (специјализација од USER). 30 * customer_EDB int, задолжителен29 * customer_EDB string, задолжителен 31 30 * customer_company_name string, задолжителен 32 31 * customer_address string, задолжителен … … 36 35 37 36 **DELIVERY** - ентитет кој чува податоци за достави. 38 * delivery_id int, примарен клуч37 * delivery_id bigint, примарен клуч 39 38 * delivery_date_created date, задолжителен 40 39 * delivery_date date, задолжителен 40 * delivery_start_km int 41 * delivery_end_km int, 42 * delivery_start_time time, 43 * delivery_end_time time, 41 44 42 **DELIVERY_STATUS** - ентитет кој чува податоци за можни состојби на достава (енумерација)45 **DELIVERY_STATUS** - ентитет кој чува податоци за можни состојби на достава 43 46 * delivery_status_id smallint, примарен клуч 44 * delivery_status_name string, задолжителен 45 * delivery_status_description string, задолжителен47 * delivery_status_name string, задолжителен и уникатен 48 * delivery_status_description text, задолжителен 46 49 47 50 **DRIVER** - ентитет кој ги претставува корисниците - возачи (специјализација од USER). … … 49 52 **MANAGER** - ентитет кој ги претставува корисниците - менаџери (специјализација од USER). 50 53 54 **MANUFACTURER** - ентите кој ги претставува произведувачите чии продукти се достапни во дистрибуцијата 55 * manufacturer_id biging, примарен клуч 56 * manufacturer_name string, задолжителен 57 * manufacturer_address string, задолжителен 58 * manufacturer_mobile string, задолжителен 59 * manufacturer_email string, задолжителен 60 51 61 **ORDERS** - ентитет кој чува податоци за нарачки направени од некој потрошувач. 52 62 * order_id bigint, примарен клуч 53 63 * order_date date, задолжителен 54 64 * order_sum int, задолжителен 55 * order_fulfillment_date timestamp 65 * order_fulfillment_date timestamp, 66 * order_comment text 56 67 57 68 **ORDERS_STATUS** - ентитет кој чува податоци за можни состојби на нарачка (енумерација) … … 59 70 * order_status_name string, задолжителен 60 71 * order_status_description string, задолжителен 72 73 **PRICE** - ентитет кој чува податоци за цените на секој артикл, за полесно водење на историја на цени 74 * price_id int, примарен клуч 75 * price decimal, задолжителен 76 * price_eff_date timestamp, задолжителен 61 77 62 78 **PRO_FORMA** - ентитет кој чува податоци за про-фактури. … … 75 91 * user_surname string, задолжителен 76 92 * user_email string, задолжителен 93 * user_email_conf boolean, задолжителен 77 94 * user_mobile string, задолжителен 78 * user_image string 95 * user_image string, 96 * user_pass string, задолжителен 97 * user_salt string, задолжителен 79 98 80 99 **VEHICLE** - ентитет кој чува податоци за возила со кои се вршат достави. 81 100 * vehicle_id int, примарен клуч 82 101 * vehicle_carry_weight int, задолжителен 83 * vehicle_service_interval int, задолжителен102 * vehicle_service_interval smallint, задолжителен 84 103 * vehicle_kilometers int, задолжителен 85 * vehicle_last_service date 104 * vehicle_last_service date, 105 * vehicle_last_service_km int, 106 * vehicle_plate string, задолжителен, 107 * vehicle_vin string, задолжителен и уникатен 108 * vehicle_reg date, задолжителен 86 109 87 110 **WAREHOUSE** - ентитет кој чува податоци за магацини на дистрибуцијата. … … 90 113 91 114 === Релации 115 116 **art_price** - релација помеѓу ARTICLE и PRICE која означува секој артикл која цена ја има моментално и кои цени ги имал до сега. Еден артикл може да има повеќе цени (актуелната цена и сите цени до тогаш), а една цена може да припаѓа на само еден артикл (доколку некој друг артикл има иста цена се прави нов елемент во табелата со иста вредност, примарниот клуч ќе биде различен. Доколку истиот артикл добива цена која претходно ја имал, повторно се прави нов елемент во табелата за да се зачува коректната историја на цена на артиклот. Ова се решава на апликациско ниво). 117 92 118 **belongs_to** - релација помеѓу WAREHOUSE и VEHICLE која означува дека едно возило припаѓа на некој магацин. Едно возило мора да припаѓа само на еден магацин, а еден магацин може да има 0 или повеќе возила. 93 119 … … 110 136 **manages** - релација помеѓу MANAGER и WAREHOUSE која означува кој менаџер управува со одреден магацин. Еден менаџер мора да управува само со 1 магацин и 1 магацин мора да биде управуван од само 1 менаџер. 111 137 138 **manufac_by** - релација помеѓу MANUFACTURER и ARTICLE која означува кој артикл од кој произведувач е произведен. Еден артикл може да биде произведен од еден произведувач, а еден произведувач може да има произведено повеќе артикли. 139 112 140 **order_contains** - релација помеѓу ORDERS и ARTICLE_UNIT која означува една нарачка кои единки од некој артикл ги содржи. Една нарачка мора да има барем 1 единка од некој артикл, а една единка од артикл може да биде асоцирана само со 1 нарачка. 113 141 … … 122 150 **warehouse_location** - релација помеѓу WAREHOUSE и CITY која означува во кој град се наоѓа еден магацин. Во еден град може да има 1 или повеќе магацини, а еден магацин мора да биде од само 1 град. 123 151 == Историјат 124 === Верзија 3 (актуелна) 152 === Верзија 4 - актуелна 153 [attachment:DistributorApp_DB_Scheme_ver4.png] 154 \\Промени во однос на Верзија 3: 155 * Додадени се ентитетите MANUFACTURER и PRICE. 156 * Додадени се потребни атрибути на некои од ентитетите кои претходно недостасуваа а се важни за функционалноста на апликацијата. 157 * Исто така променети се имињата на атрибутите, да бидат пократки а сепак разбирливи и уникатни да нема конфузија при работа со базата. 158 === Верзија 3 125 159 [attachment:DistributorApp_DB_Scheme_ver3.png] 126 160 \\Промени во однос на Верзија 2: