Couverture de l’UE : Première version : chaque rubrique du sommaire dispose d’un cours de méthode. La couverture reste partielle : approfondissements encore nécessaires en normalisation, fonctions de tableur, programmation VBA exécutée dans Excel, diagrammes BPMN complets et cas transversaux. Les exercices SQL sont contrôlés sur un jeu d’essai SQLite ; les particularités d’autres SGBD et tableurs doivent être vérifiées.
Objectif : Appliquer la méthode et expliquer ses contrôles.
Données du cas
Les exercices SQL utilisent les données fictives suivantes : Client : (1, Alma), (2, Boréal), (3, Cyprès). Facture : (10, client 1, 600), (11, client 1, −100), (12, client 2, 300), (13, client 2, 250), (14, client 1, NULL). Les montants sont en euros. NULL désigne ici un montant non encore renseigné ; Cyprès n’a aucune facture.
Démarche
Définissez le résultat attendu avant de choisir la formule ou la requête. Contrôlez les valeurs manquantes, les limites et le périmètre. Comparez votre réponse au corrigé en distinguant calcul, interprétation et conditions d’exécution.
Exercice
Écrivez une requête donnant les clients dont la somme des seules factures positives dépasse 500 €. Donnez le résultat, trié par identifiant. Comparez au total net des montants connus.
Afficher le corrigé expliqué
SELECT id_client, SUM(montant) AS total FROM Facture WHERE montant > 0 GROUP BY id_client HAVING SUM(montant) > 500 ORDER BY id_client; Résultat : client 1 = 600 ; client 2 = 550. Le total net des montants connus est 600 − 100 + 300 + 250 = 1 050 €. Le total des factures positives vaut 1 150 €. Ces deux totaux répondent à des questions différentes. NULL n’est pas interprété comme une facture de montant zéro.
Question de validation
Le total des seules valeurs positives vaut :
1 050 €
1 150 €
950 €
Vérifier la réponse
Réponse B : 1 150 €
Les montants strictement positifs sont 600, 300 et 250 : leur somme vaut 1 150 €. L’avoir de −100 est exclu par WHERE montant > 0.
Sources complémentaires
Repères théoriques ; exemples et exercices originaux.