| | 99 | '''Предикција на производи кои наскоро ќе ги снема на залиха''' \\ |
| | 100 | Креираме прашалник каде велиме "за секој продукт и големина, \\ |
| | 101 | прикажи моментална залиха, просечна неделна продажба во последни 4 недели, и статус според таа продажба." \\ |
| | 102 | Функцијата {{{stock_prediction}}} е претставена со релациска алгебра, каде што имаме: \\ |
| | 103 | σ врска : селектирање на нарачки во последни 4 недели \\ |
| | 104 | γ врска : групирање по {{{id_product}}} и {{{id_size}}}, пресметка на просечна неделна продажба. \\ |
| | 105 | ⨝ врска : поврзување на {{{Products}}}, {{{Stock}}}, {{{Sizes}}}, и {{{Contains}}}.\\ |
| | 106 | ⟕ врска : лева надворешна врска со продажбата (бидејки не сите продукти имаат продажба).\\ |
| | 107 | γ врска : групирање по {{{product_name}}} и {{{size_label}}}, и пресметка.\\ |
| | 108 | ρ врска : преименување на {{{product_name}}} → label}}} \\ |
| | 109 | π врска : проекција на колоните {{{label}}}, {{{size}}}, {{{current_stock}}}, {{{avg_weekly_sales}}}, {{{status}}}\\ |
| | 110 | τ(...) врска : сортирање прво според status опаѓачки (ИТНО > Набљудувај > Стабилно),\\ |
| | 111 | а потоа по {{{avg_weekly_sales}}} опаѓачки. \\ |
| | 112 | \\ |
| | 113 | {{{#!sql |
| | 114 | Result ← τ_status↓, avg_weekly_sales↓ ( |
| | 115 | π_product_name, size_label, current_stock, avg_weekly_sales, status ( |
| | 116 | γ_product_name, size_label; |
| | 117 | SUM(quantity) → current_stock, |
| | 118 | AVG(avg_weekly_sales) → avg_weekly_sales, |
| | 119 | IF(SUM(quantity) ≤ AVG(avg_weekly_sales), 'ИТНО', 'Набљудувај') → status ( |
| | 120 | (Products ⨝ Stock ⨝ Sizes) |
| | 121 | ⟕ WeeklyAvgSales |
| | 122 | ) |
| | 123 | ) |
| | 124 | ) |
| | 125 | }}} |
| | 126 | \\ |
| | 127 | \\ |