Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 2 · Logique

Fonctions et procédures stockées

Le responsable technique demande d'exploiter explicitement des fonctions et des procédures stockées. Il ne s'agit pas de prouver que tu connais la syntaxe, mais de démontrer que chaque mécanisme répond à un vrai besoin du cas.

Fonctions SQL

Il faut proposer au moins deux fonctions utiles : une fonction de calcul ou d'aide à la qualification métier (le score), une fonction de transformation ou d'interprétation d'un résultat (par exemple convertir un score en niveau faible/moyen/élevé), éventuellement une fonction de mise en forme ou de catégorisation. Pour chacune, il faut expliquer : son rôle, ses paramètres, sa valeur de retour, les hypothèses prises et les cas limites à gérer (par exemple un budget NULL).

Procédures stockées

Plusieurs procédures structurantes : une procédure d'insertion ou d'intégration d'un marché, une procédure de traitement d'un lot, une procédure d'alimentation ou de rafraîchissement du dashboard, éventuellement une procédure de maintenance ou de purge. Le cas précise : « Vous ne devez pas livrer une simple suite d'INSERT » : la logique de contrôle, de calcul, d'échec et de traçabilité doit être pensée dès la conception.

FonctionProcédure
(hors cours, notion générale) calcule et renvoie une valeur, utilisable dans une requête(hors cours) exécute une suite d'actions appelée explicitement

Vérifie que tu as compris

Parmi ces propositions, laquelle est une bonne fonction SQL pour ce cas ?

Ce que SQLite ne sait pas faire

SQLite n'a ni procédures stockées ni fonctions SQL définies par l'utilisateur en SQL pur (hors cours). On exprime donc la règle du score en SQL avec CASE (c'est le calcul que la fonction encapsulerait), ou on écrit la procédure côté Python. Dans un SGBD comme MySQL (hors cours, exemple ajouté), on écrirait CREATE FUNCTION / CREATE PROCEDURE, avec CALL pour appeler une procédure et un gestionnaire d'erreur pour annuler un traitement en échec.

L'important, indépendamment du SGBD, est la qualité de la logique : contrôler les données, calculer, gérer l'échec, tracer.

À toi de coder

Calculer un score et un niveau (faible, moyen, élevé)

La qualification attribue un score selon des critères (mots-clés, montant, localisation) puis un niveau faible / moyen / élevé. Les points et seuils ci-dessous sont un exemple ajouté (le cours n'impose pas de barème) : +3 si le titre contient « modulaire » ou « préfabriqu », +2 si le budget est ≥ 500000, +1 si la localisation est « Île-de-France » ; niveau élevé si score ≥ 5, moyen si ≥ 3, sinon faible.

SQLite n'a pas de fonctions stockées ; on exprime la règle avec CASE. Un budget NULL ne rapporte aucun point. Renvoie id, score, niveau trié par id.

Ctrl/⌘+Entrée

Vérifie que tu as compris

Un budget est NULL dans une annonce. Que doit prévoir la fonction de score ?