Changes between Version 5 and Version 6 of Прашалници со релациска алгебра
- Timestamp:
- 06/24/25 19:16:06 (26 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Прашалници со релациска алгебра
v5 v6 14 14 }}} 15 15 \\ 16 Со следниов ред, функција {{{Day(order_date)}}} враќа извештај за неделата\\17 претставена како{{{групирање (aggregation)}}} :\\16 Функцијата {{{Day(order_date)}}} претставена со релациска алгебра \\ 17 со помош на {{{групирање (aggregation)}}} :\\ 18 18 {{{#!sql 19 19 γ_Day(order_date); count(*), sum(total_price) … … 23 23 \\ 24 24 \\ 25 26 25 '''Monthly''' \\ 27 26 Креираме прашалник каде велиме "за секој месец, преброј ги нарачките и пресметај вкупен приход" : \\ … … 36 35 }}} 37 36 \\ 38 Со следниов ред, функција {{{Month(order_date)}}} враќа извештај за месец :\\39 претставена како{{{групирање (aggregation)}}} :\\37 Функцијата {{{Month(order_date)}}} претставена со релациска алгебра \\ 38 со помош на {{{групирање (aggregation)}}} :\\ 40 39 {{{#!sql 41 40 γ_Month(order_date); count(*), sum(total_price)(Orders) … … 55 54 }}} 56 55 \\ 57 Со следниов ред, функција {{{Year(order_date)}}} враќа извештај за годишно ниво\\58 претставена како{{{групирање (aggregation)}}} :\\56 Функцијата {{{Year(order_date)}}} претставена со релациска алгебра \\ 57 со помош на {{{групирање (aggregation)}}} :\\ 59 58 {{{#!sql 60 59 γ_Year(order_date); count(*), sum(total_price)(Orders) … … 62 61 \\ 63 62 \\ 63 = Најпродавани продукти 64 '''Најпродавани продукти''' \\ 65 Креираме прашалник каде велиме "за секој продукт, пресметај колку вкупно парчиња се продадени (збир на quantity),\\ 66 сортирај ги и земи ги првите 5" : \\ 67 \\ 68 {{{#!sql 69 SELECT 70 p.product_name AS label, 71 SUM(c.quantity) AS total_sold 72 FROM contains c 73 JOIN stock s ON c.id_stock = s.id_stock 74 JOIN products p ON s.id_product = p.id_product 75 GROUP BY p.product_name 76 ORDER BY total_sold DESC 77 LIMIT 5; 78 }}} 79 \\ 80 Функцијата {{{top_products}}} претставена со релациска алгебра,потточно \\ 81 ⨝ врска : {{{JOIN}}} меѓу {{{contains}}}, {{{stock}}}, {{{products}}} \\ 82 π врска : проекција на колоните што се враќаат {{{label}}} и {{{total_sold}}} \\ 83 γ врска : групирање по име на продукт, собирање на количини \\ 84 ρ врска : преименување во {{{label}}} \\ 85 τ_desc(...) врска : сортирање опаѓачки \\ 86 \\ 87 {{{#!sql 88 π_label, total_sold ( 89 τ_desc(total_sold) ( 90 ρ(label ← p.product_name)( 91 γ_p.product_name; SUM(c.quantity) → total_sold ( 92 (Contains ⨝ Stock ⨝ Products) 93 ) 94 ) 95 ) 96 ) 97 }}} 98 \\ 99 \\