Changes between Version 6 and Version 7 of ERModel


Ignore:
Timestamp:
12/14/24 16:17:59 (5 weeks ago)
Author:
185022
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ERModel

    v6 v7  
    11== ЕР Дијаграм
    2 [[Image(DistributorApp_DB_Scheme_ver3.png​)]]
     2[[Image(DistributorApp_DB_Scheme_ver4.png​)]]
    33== Податочни побарувања
    44=== Ентитети
     
    88* article_image string, задолжителен
    99* article_weight int, задолжителен
    10 * article_price decimal, задолжителен
    1110
    1211**ARTICLE_UNIT** - ентитет кој чува податоци за единки од артикл.
    13 * unit_id int, примарен клуч
     12* unit_id bigint, примарен клуч
    1413* unit_expiration_date date, задолжителен
    1514* unit_serial_number string, задолжителен
     
    2827
    2928**CUSTOMER** - ентитет кој чува податоци за потрошувачи (специјализација од USER).
    30 * customer_EDB int, задолжителен
     29* customer_EDB string, задолжителен
    3130* customer_company_name string, задолжителен
    3231* customer_address string, задолжителен
     
    3635
    3736**DELIVERY** - ентитет кој чува податоци за достави.
    38 * delivery_id int, примарен клуч
     37* delivery_id bigint, примарен клуч
    3938* delivery_date_created date, задолжителен
    4039* delivery_date date, задолжителен
     40* delivery_start_km int
     41* delivery_end_km int,
     42* delivery_start_time time,
     43* delivery_end_time time,
    4144
    42 **DELIVERY_STATUS** - ентитет кој чува податоци за можни состојби на достава (енумерација)
     45**DELIVERY_STATUS** - ентитет кој чува податоци за можни состојби на достава
    4346* delivery_status_id smallint, примарен клуч
    44 * delivery_status_name string, задолжителен
    45 * delivery_status_description string, задолжителен
     47* delivery_status_name string, задолжителен и уникатен
     48* delivery_status_description text, задолжителен
    4649
    4750**DRIVER** - ентитет кој ги претставува корисниците - возачи (специјализација од USER).
     
    4952**MANAGER** - ентитет кој ги претставува корисниците - менаџери (специјализација од USER).
    5053
     54**MANUFACTURER** - ентите кој ги претставува произведувачите чии продукти се достапни во дистрибуцијата
     55* manufacturer_id biging, примарен клуч
     56* manufacturer_name string, задолжителен
     57* manufacturer_address string, задолжителен
     58* manufacturer_mobile string, задолжителен
     59* manufacturer_email string, задолжителен
     60
    5161**ORDERS** - ентитет кој чува податоци за нарачки направени од некој потрошувач.
    5262* order_id bigint, примарен клуч
    5363* order_date date, задолжителен
    5464* order_sum int, задолжителен
    55 * order_fulfillment_date timestamp
     65* order_fulfillment_date timestamp,
     66* order_comment text
    5667
    5768**ORDERS_STATUS** - ентитет кој чува податоци за можни состојби на нарачка (енумерација)
     
    5970* order_status_name string, задолжителен
    6071* order_status_description string, задолжителен
     72
     73**PRICE** - ентитет кој чува податоци за цените на секој артикл, за полесно водење на историја на цени
     74* price_id int, примарен клуч
     75* price decimal, задолжителен
     76* price_eff_date timestamp, задолжителен
    6177
    6278**PRO_FORMA** - ентитет кој чува податоци за про-фактури.
     
    7591* user_surname string, задолжителен
    7692* user_email string, задолжителен
     93* user_email_conf boolean, задолжителен
    7794* user_mobile string, задолжителен
    78 * user_image string
     95* user_image string,
     96* user_pass string, задолжителен
     97* user_salt string, задолжителен
    7998
    8099**VEHICLE** - ентитет кој чува податоци за возила со кои се вршат достави.
    81100* vehicle_id int, примарен клуч
    82101* vehicle_carry_weight int, задолжителен
    83 * vehicle_service_interval int, задолжителен
     102* vehicle_service_interval smallint, задолжителен
    84103* 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, задолжителен
    86109
    87110**WAREHOUSE** - ентитет кој чува податоци за магацини на дистрибуцијата.
     
    90113
    91114=== Релации
     115
     116**art_price** - релација помеѓу ARTICLE и PRICE која означува секој артикл која цена ја има моментално и кои цени ги имал до сега. Еден артикл може да има повеќе цени (актуелната цена и сите цени до тогаш), а една цена може да припаѓа на само еден артикл (доколку некој друг артикл има иста цена се прави нов елемент во табелата со иста вредност, примарниот клуч ќе биде различен. Доколку истиот артикл добива цена која претходно ја имал, повторно се прави нов елемент во табелата за да се зачува коректната историја на цена на артиклот. Ова се решава на апликациско ниво).
     117
    92118**belongs_to** - релација помеѓу WAREHOUSE и VEHICLE која означува дека едно возило припаѓа на некој магацин. Едно возило мора да припаѓа само на еден магацин, а еден магацин може да има 0 или повеќе возила.
    93119
     
    110136**manages** - релација помеѓу MANAGER и WAREHOUSE која означува кој менаџер управува со одреден магацин. Еден менаџер мора да управува само со 1 магацин и 1 магацин мора да биде управуван од само 1 менаџер.
    111137
     138**manufac_by** - релација помеѓу MANUFACTURER и ARTICLE која означува кој артикл од кој произведувач е произведен. Еден артикл може да биде произведен од еден произведувач, а еден произведувач може да има произведено повеќе артикли.
     139
    112140**order_contains** - релација помеѓу ORDERS и ARTICLE_UNIT која означува една нарачка кои единки од некој артикл ги содржи. Една нарачка мора да има барем 1 единка од некој артикл, а една единка од артикл може да биде асоцирана само со 1 нарачка.
    113141
     
    122150**warehouse_location** - релација помеѓу WAREHOUSE и CITY која означува во кој град се наоѓа еден магацин. Во еден град може да има 1 или повеќе магацини, а еден магацин мора да биде од само 1 град.
    123151== Историјат
    124 === Верзија 3 (актуелна)
     152=== Верзија 4 - актуелна
     153[attachment:DistributorApp_DB_Scheme_ver4.png]
     154\\Промени во однос на Верзија 3:
     155* Додадени се ентитетите MANUFACTURER и PRICE.
     156* Додадени се потребни атрибути на некои од ентитетите кои претходно недостасуваа а се важни за функционалноста на апликацијата.
     157* Исто така променети се имињата на атрибутите, да бидат пократки а сепак разбирливи и уникатни да нема конфузија при работа со базата.
     158=== Верзија 3
    125159[attachment:DistributorApp_DB_Scheme_ver3.png]
    126160\\Промени во однос на Верзија 2: