Junior — Middle
Expliquez le concept de fonctions de fenêtre dans les systèmes de gestion de bases de données et leur application.
sobes.tech IA
Réponse de l'IA
Les fonctions de fenêtre (window functions) dans les SGBD permettent d’effectuer des calculs sur un ensemble de lignes liées à la ligne courante, sans regroupement des données. Elles étendent les capacités des fonctions agrégatives, en fournissant des résultats pour chaque ligne tout en conservant les autres données.
Principales caractéristiques :
- Fonctionnent sur une fenêtre de lignes définie par
OVER(). - Permettent de spécifier l’ordre (
ORDER BY) et la partition (PARTITION BY). - Permettent de calculer des sommes mobiles, des rangs, des totaux cumulés, etc.
Exemple d’utilisation en SQL :
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Ici, pour chaque employé, le rang du salaire au sein de son département est calculé.
En C#, les fonctions de fenêtre sont généralement appliquées via LINQ ou avec des requêtes SQL vers une base de données supportant les fonctions de fenêtre.