wiki:ERModel

ЕР Дијаграм

Податочни побарувања

Ентитети

ARTICLE - ентитет кој чува податоци за артикли достапни во дистрибуцијата.

  • article_id bigint, примарен клуч
  • article_name string, задолжителен
  • article_image string, задолжителен
  • article_weight int, задолжителен

ARTICLE_UNIT - ентитет кој чува податоци за единки од артикл.

  • unit_id bigint, примарен клуч
  • unit_expiration_date date, задолжителен
  • unit_serial_number string, задолжителен
  • unit_batch_number string, задолжителен
  • unit_manufacture_date date, задолжителен
  • unit_cost_price decimal, задолжителен

CATEGORY - ентитет кој чува податоци за категории на артикли.

  • category_id int, примарен клуч
  • category_name string, задолжителен

CITY - ентитет кој чува податоци за градови.

  • city_id int, примарен клуч
  • city_name string, задолжителен

CUSTOMER - ентитет кој чува податоци за потрошувачи (специјализација од USER).

  • customer_EDB string, задолжителен
  • customer_company_name string, задолжителен
  • customer_address string, задолжителен
  • customer_open_time time, задолжителен
  • customer_close_time time, задолжителен
  • customer_representative_image string, задолжителен

DELIVERY - ентитет кој чува податоци за достави.

  • delivery_id bigint, примарен клуч
  • delivery_date_created date, задолжителен
  • delivery_date date, задолжителен
  • delivery_start_km int
  • delivery_end_km int,
  • delivery_start_time time,
  • delivery_end_time time,

DELIVERY_STATUS - ентитет кој чува податоци за можни состојби на достава

  • delivery_status_id smallint, примарен клуч
  • delivery_status_name string, задолжителен и уникатен
  • delivery_status_description text, задолжителен

DRIVER - ентитет кој ги претставува корисниците - возачи (специјализација од USER).

MANAGER - ентитет кој ги претставува корисниците - менаџери (специјализација од USER).

MANUFACTURER - ентите кој ги претставува произведувачите чии продукти се достапни во дистрибуцијата

  • manufacturer_id biging, примарен клуч
  • manufacturer_name string, задолжителен
  • manufacturer_address string, задолжителен
  • manufacturer_mobile string, задолжителен
  • manufacturer_email string, задолжителен

ORDERS - ентитет кој чува податоци за нарачки направени од некој потрошувач.

  • order_id bigint, примарен клуч
  • order_date date, задолжителен
  • order_sum int, задолжителен
  • order_fulfillment_date timestamp,
  • order_comment text

ORDERS_STATUS - ентитет кој чува податоци за можни состојби на нарачка (енумерација)

  • order_status_id smallint, примарен клуч
  • order_status_name string, задолжителен
  • order_status_description string, задолжителен

PRICE - ентитет кој чува податоци за цените на секој артикл, за полесно водење на историја на цени

  • price_id int, примарен клуч
  • price decimal, задолжителен
  • price_eff_date timestamp, задолжителен

PRO_FORMA - ентитет кој чува податоци за про-фактури.

  • pro_forma_id bigint, примарен клуч
  • pro_forma_deadline date, задолжителен
  • pro_forma_date_created date, задолжителен

PRO_FORMA_STATUS - ентитет кој чува податоци за можни состојби на про-фактура (енумерација)

  • pro_forma_status_id smallint, примарен клуч
  • pro_forma_status_name string, задолжителен
  • pro_forma_status_description string, задолжителен

USERS - ентитет кој чува податоци за корисниците.

  • user_id bigint, примарен клуч
  • user_name string, задолжителен
  • user_surname string, задолжителен
  • user_email string, задолжителен
  • user_email_conf boolean, задолжителен
  • user_mobile string, задолжителен
  • user_image string,
  • user_pass string, задолжителен
  • user_salt string, задолжителен

VEHICLE - ентитет кој чува податоци за возила со кои се вршат достави.

  • vehicle_id int, примарен клуч
  • vehicle_carry_weight int, задолжителен
  • vehicle_service_interval smallint, задолжителен
  • vehicle_kilometers int, задолжителен
  • vehicle_last_service date,
  • vehicle_last_service_km int,
  • vehicle_plate string, задолжителен,
  • vehicle_vin string, задолжителен и уникатен
  • vehicle_reg date, задолжителен

WAREHOUSE - ентитет кој чува податоци за магацини на дистрибуцијата.

  • warehouse_id int, примарен клуч
  • warehouse_address string, задолжителен

Релации

art_price - релација помеѓу ARTICLE и PRICE која означува секој артикл која цена ја има моментално и кои цени ги имал до сега. Еден артикл може да има повеќе цени (актуелната цена и сите цени до тогаш), а една цена може да припаѓа на само еден артикл (доколку некој друг артикл има иста цена се прави нов елемент во табелата со иста вредност, примарниот клуч ќе биде различен. Доколку истиот артикл добива цена која претходно ја имал, повторно се прави нов елемент во табелата за да се зачува коректната историја на цена на артиклот. Ова се решава на апликациско ниво).

belongs_to - релација помеѓу WAREHOUSE и VEHICLE која означува дека едно возило припаѓа на некој магацин. Едно возило мора да припаѓа само на еден магацин, а еден магацин може да има 0 или повеќе возила.

creates_order - релација помеѓу CUSTOMER и ORDERS која означува креирање на една нарачка од страна на потрошувач. Еден потрошувач може да има 0 или повеќе нарачки а една нарачка мора да биде направена од еден потрошувач.

delivers - релација помеѓу DELIVERY и VEHICLE која означува кое возило ја врши одредена достава. Една достава мора да биде извршена од едно возило, а едно возило може да има извршено 0 или повеќе достави.

drives - релација помеѓу DRIVER и VEHICLE која означува кој возач одговара и управува со кое возило. Секој возач мора да има едно возило и секое возило мора да биде управувано од еден возач.

d_status - релација помеѓу DELIVERY и ORDER_STATUS која означува една достава во која состојба/статус е. Една достава може да има само еден статус во еден момент, еден статус може да има повеќе достави асоцирани со него.

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 менаџер.

manufac_by - релација помеѓу MANUFACTURER и ARTICLE која означува кој артикл од кој произведувач е произведен. Еден артикл може да биде произведен од еден произведувач, а еден произведувач може да има произведено повеќе артикли.

order_contains - релација помеѓу ORDERS и ARTICLE_UNIT која означува една нарачка кои единки од некој артикл ги содржи. Една нарачка мора да има барем 1 единка од некој артикл, а една единка од артикл може да биде асоцирана само со 1 нарачка.

o_status - релација помеѓу ORDERS и ORDER_STATUS која означува една нарачка во која состојба/статус е. Една нарачка може да има само еден статус во еден момент, еден статус може да има повеќе нарачки асоцирани со него.

pf_status - релација помеѓу PRO_FORMA и PRO_FORMA_STATUS која означува една про-фактура во која состојба/статус е. Една про-фактура може да има само еден статус во еден момент, еден статус може да има повеќе про-фактури асоцирани со него.

shipping - релација помеѓу ORDERS и DELIVERY која означува која нарачка со која достава ќе се достави. Една нарачка мора да припаѓа на само една достава, а една достава мора да има барем 1 нарачка.

unit_of_article - релација помеѓу ARTICLE и ARTICLE_UNIT која означува од кој артикл е една единка-артикл. Една единка артикл мора да припаѓа на само 1 артикл, а еден артикл може да има 1 или повеќе единки.

warehouse_location - релација помеѓу WAREHOUSE и CITY која означува во кој град се наоѓа еден магацин. Во еден град може да има 1 или повеќе магацини, а еден магацин мора да биде од само 1 град.

Историјат

Верзија 5 - актуелна

DistributorApp_DB_Scheme_ver5.png
Промени во однос на Верзија 4:

Верзија 4

DistributorApp_DB_Scheme_ver4.png
Промени во однос на Верзија 3:

  • Додадени се ентитетите MANUFACTURER и PRICE.
  • Додадени се потребни атрибути на некои од ентитетите кои претходно недостасуваа а се важни за функционалноста на апликацијата.
  • Исто така променети се имињата на атрибутите, да бидат пократки а сепак разбирливи и уникатни да нема конфузија при работа со базата.

Верзија 3

DistributorApp_DB_Scheme_ver3.png
Промени во однос на Верзија 2:

  • Енумерациите 'status' за DELIVERY, ORDERS и PRO_FORMA се направени ентитети со потребни релации помеѓу соодветните ентитети.
  • Променета кардиналност на релацијата помеѓу WAREHOUSE и ARTICLE_UNIT
  • Променет тип на учество на релацијата помеѓу ORDERS и DELIVERY
  • Додадени соодветни атрибути на новите ентитети и додадени атрибути user_image, vehicle_last_service

Верзија 2

DistributorApp_DB_Scheme_ver2.png
Промени во однос на Верзија 1:

  • Додаден е ентитет - ARTICLE_UNIT
  • Додадени се сите потребни атрибути

Верзија 1

DistributorApp_DB_Scheme_ver1.png

Last modified 5 days ago Last modified on 01/09/25 18:50:17

Attachments (5)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.