Sobes.tech
Junior — Middle

Vysvětlete koncept okenních funkcí v systémech správy databází a jejich použití.

sobes.tech AI

Odpověď od AI

Funkce okna (window functions) v systémech správy databází (DBMS) umožňují provádět výpočty nad sadou řádků souvisejících s aktuálním řádkem, aniž by došlo ke skupinování dat. Rozšiřují možnosti agregačních funkcí tím, že poskytují výsledky pro každý řádek, přičemž zachovávají ostatní data.

Hlavní vlastnosti:

  • Fungují na okně řádků definovaném pomocí OVER().
  • Lze určit pořadí (ORDER BY) a rozdělení (PARTITION BY).
  • Umožňují výpočty posuvných součtů, žebříčků, kumulativních součtů atd.

Příklad použití v SQL:

SELECT
  employee_id,
  department_id,
  salary,
  RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;

Zde je pro každého zaměstnance vypočteno žebříčkové pořadí platu v rámci jeho oddělení.

V C# jsou funkce okna obvykle aplikovány pomocí LINQ nebo SQL dotazů na databáze podporující oknové funkce.