Junior — Middle
Կարող եք բացատրել դաշտային ֆունկցիաների կոնցեպցիան տվյալների բազայի կառավարման համակարգերում?
sobes.tech AI
Պատասխան AI-ից
Վինդո ֆունկցիաներ (window functions) տվյալների բազայի կառավարման համակարգերում (DBMS) թույլ են տալիս կատարել հաշվարկներ ընթացիկ տողի հետ կապված տողերի հավաքածուի վրա, առանց արդյունքների խմբագրման։ Դրանք օգտակար են վերլուծական և բարդ հարցումների համար, որտեղ անհրաժեշտ է ստանալ ամփոփագրեր, դասակարգումներ, շարժական գումարներ և այլն, միաժամանակ պահպանելով յուրաքանչյուր տողի մանրամասները:
Աշխատանքի սկզբունքը՝
- Վանդոյի (տողերի հավաքածու) սահմանում է OVER() կառուցվածքով, որտեղ կարող է նշվել PARTITION BY (խմբավորում) և ORDER BY (միջին դասակարգում խմբի ներսում):
- Ամեն տողի համար հաշվարկվում է ֆունկցիա վանդոյում, օրինակ՝ գումար, միջին, տողի համարը և այլն:
SQL-ի օրինակ՝
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Այստեղ յուրաքանչյուր աշխատակցի համար հաշվարկվում է աշխատավարձի դասակարգումը նրա բաժնում, և յուրաքանչյուր տող մնում է արդյունքում։