wiki:DatabaseProgramming

Version 3 (modified by 231046, 8 days ago) ( diff )

--

DatabaseProgramming

Во оваа фаза се изработени функции, процедури и тригери за основните операции потребни за правилно функционирање на системот.

Функции и процедури

  1. approve_inventory_transaction - За дадена трансакција ги процесира сите нејзини movements, т.е. ако има movements кои се уште не се одобрени, ги извршува и го става нивниот статус на approved. Доколку има source bin (од кој вадиме роба) - се ажурира INVENTORY за да се намали количината, а доколку има destination bin (во кој пристигнува роба) - се ажурира INVENTORY за да се внесе робата која пристигнала.
  2. cancel_pending_transaction - Ја откажува дадената трансакција и ги ослободува сите резервации кои биле направени кога таа била креирана.
  3. receive_delivery - Креира pending delivery трансакција од робата која е добиена од доставувач. Враќа BIGINT - transaction_id.
  4. ship_stock - Креира pending shipment трансакција со робата која треба да се испрати. Бидејќи зема роба од source bin, ја резервира таа роба, за да не се испрати на друго место додека оваа трансакција чека да биде одобрена. Враќа BIGINT - transaction_id.
  5. transfer_stock - Креира pending внатрешна трансакција - за преместување на роба од еден во друг bin во рамките на нашиот магацин. Исто како ship_stock, ја резервира таа роба.
  6. adjust_inventory - Креира pending трансакција за промена на количина на роба. Го користи помошниот тип adjustment_item, кој ја има променливата quantity_change (позитивни вредности додаваат, а негативни одземаат роба). Враќа BIGINT - transaction_id.
  7. create_product - Креира продукт со име и опис и го внесува во табелата PRODUCTS.
  8. update_product - Ажурира продукт - го наоѓа преку id и ги менува името и описот, и ја ажурира табелата PRODUCTS.
  9. create_category - Креира категорија за продукти - внимавајќи дали е таа подкатегорија со променливата parent_id која го дава id-то на родителот на категоријата (доколку го има; доколку не тоа е null). Ја додава категоријата во табелата CATEGORIES.
  10. update_category - Ажурира категорија во табелата CATEGORIES.
  11. assign_product_category - Задава категорија на продукт - во табелата PRODUCT_CATEGORIES го внесува product_id и името на категоријата.
  12. remove_product_category - Ја брише дадената категорија на продуктот - го брише редот од табелата PRODUCT_CATEGORIES каде што е зададена таа категорија за тој продукт.
  13. create_attribute - Креира атрибут и го внесува во табелата ATTRIBUTES
  14. add_attribute_value - Додава вредност за дадениот атрибут во табелата ATTRIBUTE_VALUES.
  15. create_product_variant - Креира варијанта на даден продукт и ја внесува во табелата PRODUCT_VARIANTS.
  16. update_product_variant - Ажурира варијанта на продукт во табелата PRODUCT_VARIANTS
  17. assign_variant_attribute - Дава атрибут на одредена варијанта на продукт и внесува во VARIANT_ATTRIBUTES.
  18. remove_variant_attribute - Брише атрибут на одредена варијанта од табелата VARIANT_ATTRIBUTES.
  19. create_warehouse
  20. update_warehouse
  21. create_section
  22. update_section
  23. create_location
  24. update_location
  25. create_bin
  26. update_bin
  27. hire_employee
  28. update_employee
  29. terminate_employee
  30. assign_employee_to_warehouse
  31. end_warehouse_assignment
  32. assign_role_to_employee
  33. remove_role_from_employee
  34. assign_permission_to_role
  35. remove_permission_from_role

Тригери

Note: See TracWiki for help on using the wiki.