Changes between Version 5 and Version 6 of Прашалници со релациска алгебра


Ignore:
Timestamp:
06/24/25 19:16:06 (26 hours ago)
Author:
183175
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Прашалници со релациска алгебра

    v5 v6  
    1414}}}
    1515\\
    16 Со следниов ред, функција {{{Day(order_date)}}} враќа извештај за неделата \\
    17 претставена како {{{групирање (aggregation)}}} :\\
     16Функцијата {{{Day(order_date)}}} претставена со релациска алгебра \\
     17со помош на {{{групирање (aggregation)}}} :\\
    1818{{{#!sql
    1919γ_Day(order_date); count(*), sum(total_price)
     
    2323\\
    2424\\
    25 
    2625'''Monthly''' \\
    2726Креираме прашалник каде велиме "за секој месец, преброј ги нарачките и пресметај вкупен приход" : \\
     
    3635}}}
    3736\\
    38 Со следниов ред, функција {{{Month(order_date)}}} враќа извештај за месец :\\
    39 претставена како {{{групирање (aggregation)}}} :\\
     37Функцијата {{{Month(order_date)}}} претставена со релациска алгебра  \\
     38со помош на {{{групирање (aggregation)}}} :\\
    4039{{{#!sql
    4140γ_Month(order_date); count(*), sum(total_price)(Orders)
     
    5554}}}
    5655\\
    57 Со следниов ред, функција {{{Year(order_date)}}} враќа извештај за годишно ниво \\
    58 претставена како {{{групирање (aggregation)}}} :\\
     56Функцијата {{{Year(order_date)}}} претставена со релациска алгебра \\
     57со помош на {{{групирање (aggregation)}}} :\\
    5958{{{#!sql
    6059γ_Year(order_date); count(*), sum(total_price)(Orders)
     
    6261\\
    6362\\
     63= Најпродавани продукти
     64'''Најпродавани продукти''' \\
     65Креираме прашалник каде велиме "за секој продукт, пресметај колку вкупно парчиња се продадени (збир на quantity),\\
     66сортирај ги и земи ги првите 5" : \\
     67\\
     68{{{#!sql
     69SELECT
     70  p.product_name AS label,
     71  SUM(c.quantity) AS total_sold
     72FROM contains c
     73JOIN stock s ON c.id_stock = s.id_stock
     74JOIN products p ON s.id_product = p.id_product
     75GROUP BY p.product_name
     76ORDER BY total_sold DESC
     77LIMIT 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\\