wiki:ERD

Version 6 (modified by 221181, 99 minutes ago) ( diff )

--

ER дијаграм

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

Ентитети

Јаки Ентитети:

  1. User - ентитет кој ги дефинира корисниците
    • userId - primary key (примарен клуч)
    • username - varchar (задолжителен атрибут)
    • password - varchar (задолжителен атрибут)
    • full_name - varchar (задолжителен атрибут)
    • email - varchar (задолжителен атрибут)
    • role - varchar (задолжителен атрибут)
    • is_active - boolean (задолжителен атрибут)
  1. Customer - ентитет кој ги дефинира клиентите
    • customerId - primary key (примарен клуч)
    • name - varchar (задолжителен атрибут)
    • email - varchar (задолжителен атрибут)
    • phone - varchar (задолжителен атрибут)
    • address - varchar (задолжителен атрибут)
  1. Product - ентитет кој ги дефинира продуктите
    • productId - primary key (примарен клуч)
    • name - varchar (задолжителен атрибут)
    • description - text (задолжителен атрибут)
    • sku - varchar (задолжителен атрибут)
    • unit_price - decimal (задолжителен атрибут)
    • reorder_level - int (задолжителен атрибут)
  1. Category - ентитет кој ги дефинира категориите на продукти
    • categoryId - primary key (примарен клуч)
    • name - varchar (задолжителен атрибут)
    • description - text (задолжителен атрибут)
  1. Supplier - ентитет кој ги дефинира добавувачите
    • supplierId - primary key (примарен клуч)
    • name - varchar (задолжителен атрибут)
    • contact_person - varchar (задолжителен атрибут)
    • phone - varchar (задолжителен атрибут)
    • email - varchar (задолжителен атрибут)
    • address - varchar (задолжителен атрибут)
  1. Warehouse - ентитет кој ги дефинира складиштата
    • warehouseId - primary key (примарен клуч)
    • name - varchar (задолжителен атрибут)
    • location - varchar (задолжителен атрибут)
    • capacity - int (задолжителен атрибут)
  1. Sale - ентитет кој ги дефинира продажните
    • saleId - primary key (примарен клуч)
    • date_time - datetime (задолжителен атрибут)
    • total_amount - decimal (задолжителен атрибут)
  1. PurchaseOrder - ентитет кој ги дефинира нарачките кон добавувачи
    • poId - primary key (примарен клуч)
    • order_date - date (задолжителен атрибут)
    • expected_delivery_date - date (задолжителен атрибут)
    • status - varchar (задолжителен атрибут)

Слаби Ентитети:

  1. SaleItem - ентитет кој ги дефинира ставките во продажба (зависи од Sale)
    • saleId - foreign key, дел од primary key (примарен клуч)
    • productId - foreign key, дел од primary key (примарен клуч)
    • quantity - int (задолжителен атрибут)
    • unit_price_at_sale - decimal (задолжителен атрибут)
  1. PurchaseOrderItem - ентитет кој ги дефинира ставките во нарачка (зависи од PurchaseOrder)
    • poId - foreign key, дел од primary key (примарен клуч)
    • productId - foreign key, дел од primary key (примарен клуч)
    • quantity - int (задолжителен атрибут)
    • unit_cost - decimal (задолжителен атрибут)
  1. WarehouseStock - ентитет кој ги дефинира запасните продукти за секое складиште (зависи од Warehouse)
    • warehouseId - foreign key, дел од primary key (примарен клуч)
    • productId - дел од primary key (примарен клуч)
    • quantity_on_hand - int (задолжителен атрибут)
    • last_updated - datetime (задолжителен атрибут)

Релации

  • belongs_to - 1:N релација која ги поврзува ентитетите Product и Category. Еден продукт може да припаѓа само на една категорија, а една категорија може да има повеќе продукти.
  • supplied_by - 1:N релација која ги поврзува ентитетите Product и Supplier. Еден продукт може да се добавува од еден добавувач, а еден добавувач може да добавува повеќе продукти.
  • holds - 1:N релација која ги поврзува ентитетите Warehouse и WarehouseStock. Едно складиште може да има повеќе запасни ставки, а една запасна ставка припаѓа на едно складиште.
  • has_stock_in - 1:N релација која ги поврзува ентитетите Product и WarehouseStock. Еден продукт може да има запас во повеќе складишта, а една запасна ставка е за еден продукт.
  • made_by - 1:N релација која ги поврзува ентитетите Sale и User. Една продажба е направена од еден корисник, а еден корисник може да направи повеќе продажби.
  • made_for - 1:N релација која ги поврзува ентитетите Sale и Customer. Една продажба е за еден клиент, а еден клиент може да има повеќе продажби.
  • contains - 1:N релација која ги поврзува ентитетите Sale и SaleItem. Една продажба содржи повеќе ставки, а една ставка припаѓа на една продажба.
  • includes - 1:N релација која ги поврзува ентитетите SaleItem и Product. Една ставка во продажба е за еден продукт, а еден продукт може да биде во повеќе ставки.
  • placed_to - 1:N релација која ги поврзува ентитетите PurchaseOrder и Supplier. Една нарачка е кон еден добавувач, а еден добавувач може да прими повеќе нарачки.
  • includes - 1:N релација која ги поврзува ентитетите PurchaseOrder и PurchaseOrderItem. Една нарачка содржи повеќе ставки, а една ставка припаѓа на една нарачка.
  • orders - 1:N релација која ги поврзува ентитетите PurchaseOrderItem и Product. Една ставка во нарачка е за еден продукт, а еден продукт може да биде во повеќе ставки.

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.