Changes between Version 7 and Version 8 of DatabaseProgramming
- Timestamp:
- 06/10/26 22:44:02 (5 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DatabaseProgramming
v7 v8 5 5 6 6 1. {{{approve_inventory_transaction}}} - 7 Тип: Процедура 7 Тип: Процедура\\ 8 8 9 Ја одобрува трансакцијата во што е во состојба PENDING и ги извршува сите поврзани inventory movements. Резервираната роба се троши од изворните bins, количините се ажурираат, залихата во дестинацијата се зголемува, а статусот на трансакцијата се менува во APPROVED. 9 10 10 11 2. {{{cancel_pending_transaction}}} - 11 Тип: Процедура 12 Тип: Процедура\\ 13 12 14 Ја поништува трансакцијата што е во чекање и ја ослободува резервираната роба создадена при креирање на трансакцијата. Статусот се менува во CANCELLED, а деталите за поништување се запишуваат во белешките на трансакцијата. 13 15 … … 15 17 16 18 а. {{{receive_delivery}}} - 17 Тип: Функција 19 Тип: Функција\\ 20 18 21 Креира delivery трансакција во INVENTORY_TRANSACTIONS со робата која е добиена од доставувач. Враќа BIGINT - transaction_id. Ја Става вредноста на accepted_by на null. 19 22 20 23 б. {{{ship_stock}}} - 21 Тип: Функција 24 Тип: Функција\\ 25 22 26 Креира pending shipment трансакција со робата која треба да се испрати. Бидејќи зема роба од source bin, ја резервира таа роба, за да не се испрати на друго место додека оваа трансакција чека да биде одобрена. Враќа BIGINT - transaction_id. Ја Става вредноста на accepted_by на null. 23 27 24 28 25 29 в. {{{transfer_stock}}} - 26 Тип: Функција 30 Тип: Функција\\ 31 27 32 Креира pending внатрешна трансакција - за преместување на роба од еден во друг bin во рамките на нашите магацини. Исто како ship_stock, ја резервира таа роба. Ја Става вредноста на accepted_by на null. 28 33 29 34 30 35 г. {{{adjust_inventory}}} - 31 Тип: Функција 36 Тип: Функција\\ 37 32 38 Креира pending трансакција за рачна промена на количина на роба. Го користи помошниот тип adjustment_item, кој ја има променливата quantity_change (позитивни вредности на оваа променлива додаваат, а негативни одземаат роба). Враќа BIGINT - transaction_id. 33 39 34 40 4. {{{create_product}}} - 35 Тип: Функција 41 Тип: Функција\\ 42 36 43 Креира продукт со име и опис и го внесува во табелата PRODUCTS. 37 44 38 45 5. {{{update_product}}} - 39 Тип: Функција 46 Тип: Функција\\ 47 40 48 Го ажурира името и описот на постоечки производ. Се користи за одржување и измена на каталогот на производи. 41 49 42 50 6. {{{create_category}}} - 43 Тип: Функција 51 Тип: Функција\\ 52 44 53 Креира категорија за продукти - по потреба ја поврзува со родителска категорија. 45 54 46 55 7. {{{update_category}}} - 47 Тип: Функција 56 Тип: Функција\\ 57 48 58 Го ажурира името или родителската категорија на постоечка категорија. Се користи за одржување на хиерархијата на категории. 49 59 50 60 8. {{{assign_product_category}}} - 51 Тип: Функција 61 Тип: Функција\\ 62 52 63 Задава категорија на продукт - овозможувајќи организирање и класификација во каталогот. 53 64 54 65 9. {{{remove_product_category}}} - 55 Тип: Функција 66 Тип: Функција\\ 67 56 68 Ја отстранува врската помеѓу производ и категорија, се користи при рекласификација. 57 69 58 70 10. {{{create_attribute}}} - 59 Тип: Функција 71 Тип: Функција\\ 72 60 73 Креира дефиниција за атрибут на производ (на пр. боја, големина, тежина) 61 74 62 75 11. {{{add_attribute_value}}} - 63 Тип: Функција 76 Тип: Функција\\ 77 64 78 Додава вредност за дадениот атрибут. 65 79 66 80 12. {{{create_product_variant}}} - 67 Тип: Функција 81 Тип: Функција\\ 82 68 83 Креира варијанта на даден продукт. Враќа ID на новата варијанта. 69 84 70 85 13. {{{update_product_variant}}} - 71 Тип: Процедура 86 Тип: Процедура\\ 87 72 88 Ажурира постоечка варијанта на продукт. 73 89 74 14. {{{assign_variant_attribute}}} - Дава атрибут на одредена варијанта на продукт и внесува во VARIANT_ATTRIBUTES. 90 14. {{{assign_variant_attribute}}} - 91 Тип: Процедура\\ 75 92 76 15. {{{remove_variant_attribute}}} - Брише атрибут на одредена варијанта од табелата VARIANT_ATTRIBUTES.93 Доделува вредност на атрибут на варијанта на производ. 77 94 78 == Функции за WAREHOUSE структурата == 95 15. {{{remove_variant_attribute}}} - 96 Тип: Процедура\\ 79 97 80 1. {{{create_warehouse}}} - Креира warehouse и го внесува во табелата WAREHOUSES.98 Брише атрибут од одредена варијанта кога е потребна корекција или промена. 81 99 82 2. {{{update_warehouse}}} - Ажурира warehouse во табелата WAREHOUSES. 100 16. {{{hire_employee}}} - 101 Тип: Функција\\ 83 102 84 3. {{{create_section}}} - Креира оддел за warehouse со p_warehouse_id и го внесува во табелата SECTIONS.103 Креира нов запис за вработен или реактивира претходно отпуштен вработен. Се валидираат податоците, статусот и организациската структура. 85 104 86 4. {{{update_section}}} - Ажурира оддел во табелата SECTIONS. 105 17. {{{update_employee}}} - 106 Тип: Процедура\\ 87 107 88 5. {{{create_location}}} - Креира локација и ја внесува во табелата LOCATIONS.108 Ги ажурира податоците за вработен (контакт, позиција, статус, менаџер). Отпуштени вработени не можат да се ажурираат. 89 109 90 6. {{{update_location}}} - Ажурира локација во табелата LOCATIONS. 110 18. {{{terminate_employee}}} - 111 Тип: Процедура\\ 91 112 92 7. {{{create_bin}}} - Креира bin и го внесува во табелата BINS.113 Го означува вработениот како отпуштен и ја запишува датата на прекин. Активните магацински доделувања автоматски се затвораат. 93 114 94 8. {{{update_bin}}} - Ажурира bin во табелата BINS. 115 19. {{{assign_employee_to_warehouse}}} - 116 Тип: Функција\\ 95 117 96 9. {{{hire_employee}}} - Внесува вработен со сите потребни податоци во табелата EMPLOYEES и го враќа неговиот id.118 Го доделува вработениот во магацин за одреден период. 97 119 98 10. {{{update_employee}}} - Ажурира вработен во табелата EMPLOYEES. 120 20. {{{end_warehouse_assignment}}} - 121 Тип: Процедура\\ 99 122 100 11. {{{terminate_employee}}} - Отпушта вработен, т.е. го ажурира статусот на вработениот во 'TERMINATED' и ја става вредноста на сегашен timestamp во променливата terminated_at - во табелата EMPLOYEES.123 Го затвора активниот assignment со поставување на крајна дата. Спречува повеќекратно затворање. 101 124 102 12. {{{assign_employee_to_warehouse}}} - Внесува задача, т.е. id на вработен и id на warehouse во табелата EMPLOYEE_WAREHOUSE_ASSIGNMENTS, како и почетен и краен датум кога почнал вработениот да работи на оваа задача и boolean вредност - дали ова му е примарна задача или не. Го враќа id на задачата. 125 21. {{{assign_role_to_employee}}} - 126 Тип: Процедура\\ 103 127 104 13. {{{end_warehouse_assignment}}} - Го внесува денешниот датум како краен датум во end_date во задачата со id p_assignment_id во табелата EMPLOYEE_WAREHOUSE_ASSIGNMENTS.128 Доделува улога на вработен. Дупликати автоматски се игнорираат. 105 129 106 14. {{{assign_role_to_employee}}} - Додава улога со p_role_id на дадениот вработен, и ги внесува двете id во ROLES_EMPLOYEES. 130 22. {{{remove_role_from_employee}}} - 131 Тип: Процедура\\ 107 132 108 15. {{{remove_role_from_employee}}} - Ги брише редовите од табелата ROLES_EMPLOYEES каде id-ата се совпаѓаат со дадените.133 Ја отстранува улогата од даден вработен. 109 134 110 16. {{{assign_permission_to_role}}} - Додава пермисија за дадената улога, и ги внесува permissions_id и roles_id во табелата PERMISSIONS_ROLES. 135 23. {{{assign_permission_to_role}}} - 136 Тип: Процедура\\ 111 137 112 17. {{{remove_permission_from_role}}} - Ги брише пермисиите за дадена улога од табелата PERMISSIONS_ROLES. 138 Поврзува дозвола со улога, овозможувајќи пристап преку улоги. 139 140 24. {{{remove_permission_from_role}}} - 141 Тип: Процедура\\ 142 143 Ја отстранува дозволата од улога кога треба да се промени пристапот. 144 145 25. {{{create_warehouse}}} - 146 Тип: Функција\\ 147 148 Креира запис за магацин со име и локација. 149 150 26. {{{update_warehouse}}} - 151 Тип: Процедура\\ 152 153 Ажурира детали за даден магацин. 154 155 27. {{{create_section}}} - 156 Тип: Функција\\ 157 158 Креира секција во магацин за подобра организација на складирање. 159 160 28. {{{update_section}}} - 161 Тип: Процедура\\ 162 163 Го ажурира името или описот на секција. 164 165 29. {{{create_location}}} - 166 Тип: Функција\\ 167 168 Креира локација во секција со ред, колона и ниво. 169 170 30. {{{update_location}}} - 171 Тип: Процедура\\ 172 173 Ги ажурира координатите или кодот на постоечка локација. 174 175 31. {{{create_bin}}} - 176 Тип: Функција\\ 177 178 Креира бин за складирање и дефинира капацитет. 179 180 32. {{{update_bin}}} - 181 Тип: Процедура\\ 182 183 Го ажурира кодот или капацитетот на бин за прецизно управување со складиштето. 113 184 114 185 == Тригери == 115 186 116 {{{update_timestamp}}} - Тригер функција што овозможува да кој се повикува автоматски при ажурирање на некоја табела, се стави CURRENT_TIMESTAMP како вредност во updated_at во новиот ред, со цел да се сочува времето на правење на ажурирањата во табелата. Се повикува како тригер автоматски пред ажурирање на некоја од следниве табели:187 {{{update_timestamp}}} - Ова е trigger функција што автоматски го поставува полето updated_at на тековно време секогаш кога ред во табелата се ажурира. Се користи за автоматско следење на последната измена на податоците без рачно ажурирање од апликацијата. 117 188 118 189 * PRODUCTS - {{{trg_products_updated_at}}}
