QCM : Procédures PostgreSQL et transactions — 11 questions

Questions et réponses du QCM

1. Quel est le rôle de la procédure `marquer_mesures_controlees` lorsqu’elle est appelée avec `CALL` ?

Afficher les paramètres reçus sans modifier les lignes concernées
Mettre à jour la qualité des mesures d’une station et d’un jour donnés
Créer une table temporaire contenant les mesures d’une station donnée
Supprimer les mesures enregistrées pour une date et une station données

Mettre à jour la qualité des mesures d’une station et d’un jour donnés

Explication

Cette procédure PL/pgSQL crée ou remplace une procédure appelée avec `CALL` pour mettre à jour la qualité des mesures correspondant à une station et à un jour. La création d’une table ou la suppression des mesures ne décrit pas son objectif.

2. Que signifie la création de la procédure ciblée 'marquer_mesures_controlees' dans le contexte de gestion des mesures d'une station et d'un jour donnés ?

Elle établit une procédure pour supprimer toutes les mesures d'une station et d'une date données.
Elle crée une procédure pour exporter les mesures d'une station spécifique vers un fichier externe.
Elle crée ou remplace une procédure PL/pgSQL pour mettre à jour la qualité des mesures, en filtrant par station et date, puis en comptant et affichant le nombre de lignes modifiées.
Elle définit une nouvelle table pour stocker les mesures contrôlées, en utilisant une procédure pour insérer, supprimer ou modifier des données.

Elle crée ou remplace une procédure PL/pgSQL pour mettre à jour la qualité des mesures, en filtrant par station et date, puis en comptant et affichant le nombre de lignes modifiées.

Explication

La procédure 'marquer_mesures_controlees' est conçue pour mettre à jour la qualité des mesures en filtrant par station et date, puis pour compter et afficher le nombre de lignes modifiées. Elle ne concerne pas la création de nouvelles tables, l'exportation ou la suppression de données.

3. Dans la procédure, quel enchaînement permet de traiter les bonnes mesures et d’indiquer le nombre de lignes modifiées ?

Filtrer avec `OR`, affecter `brute`, utiliser `COMMIT`, puis afficher avec `RAISE NOTICE`
Filtrer avec `AND`, affecter `controlee`, utiliser `GET DIAGNOSTICS`, puis afficher avec `RAISE NOTICE`
Filtrer avec `AND`, supprimer les lignes, utiliser `ROLLBACK`, puis afficher avec `SELECT`
Filtrer avec `OR`, affecter `controlee`, utiliser `GET DIAGNOSTICS`, puis interrompre l’exécution

Filtrer avec `AND`, affecter `controlee`, utiliser `GET DIAGNOSTICS`, puis afficher avec `RAISE NOTICE`

Explication

La procédure combine la station et le jour avec `AND`, attribue la valeur `controlee`, récupère le nombre de lignes avec `GET DIAGNOSTICS`, puis l’affiche par `RAISE NOTICE`. Employer `OR` élargirait la cible à l’union des deux critères au lieu de leur intersection.

4. Quelle opération est effectuée pour mettre à jour la qualité des mesures d'une station et d'un jour précis dans la procédure 'marquer_mesures_controlees' ?

Filtrage des lignes avec station_id et date_heure, puis modification de la qualité
Suppression des lignes non conformes et ajout de nouvelles mesures
Création d'une nouvelle station ou d'un nouveau jour dans la base de données
Exportation des mesures vers un fichier externe pour analyse

Filtrage des lignes avec station_id et date_heure, puis modification de la qualité

Explication

La procédure filtre d'abord les lignes correspondant à la station et au jour donnés, puis modifie la colonne 'qualite_validation' à 'controlee'. La suppression ou l'export ne font pas partie de cette procédure, qui se concentre sur la mise à jour.

5. Quelle séquence décrit correctement un test transactionnel de la procédure ?

`BEGIN`, `CALL`, vérification avec `SELECT`, puis `ROLLBACK`
`ROLLBACK`, `CALL`, vérification avec `SELECT`, puis `BEGIN`
`BEGIN`, vérification avec `SELECT`, `CALL`, puis `COMMIT`
`CALL`, `BEGIN`, vérification avec `SELECT`, puis `COMMIT`

`BEGIN`, `CALL`, vérification avec `SELECT`, puis `ROLLBACK`

Explication

Le test ouvre d’abord une transaction avec `BEGIN`, exécute la procédure avec `CALL`, vérifie les lignes avec `SELECT`, puis annule les changements grâce à `ROLLBACK`. `COMMIT` aurait rendu les modifications durables au lieu de les annuler.

6. Quel est le rôle principal de la procédure 'marquer_mesures_controlees' dans la gestion des mesures d'une station et d'un jour donnés ?

Créer une nouvelle station avec ses mesures.
Mettre à jour la qualité des mesures en la passant à 'controlee' pour une station et un jour spécifiques.
Afficher le nombre de mesures pour une station et un jour précis.
Supprimer les mesures d'une station et d'un jour donnés.

Mettre à jour la qualité des mesures en la passant à 'controlee' pour une station et un jour spécifiques.

Explication

La procédure 'marquer_mesures_controlees' a pour rôle de mettre à jour la qualité des mesures en la passant à 'controlee' pour une station et un jour donnés. Elle ne supprime pas, ne crée pas de stations, ni n'affiche simplement le nombre de mesures.

7. Après l’exécution d’un test terminé par `ROLLBACK`, quelle valeur retrouvent les mesures qui valaient `brute` avant la transaction ?

Elles prennent la valeur `NULL`
Elles retrouvent la valeur `brute`
Elles conservent la valeur `controlee`
Elles sont supprimées de la table

Elles retrouvent la valeur `brute`

Explication

`ROLLBACK` restaure l’état antérieur de la transaction ; les mesures qui valaient `brute` reprennent donc cette valeur. La valeur `controlee` correspond à la modification temporaire effectuée pendant le test.

8. À quel moment précis la procédure 'marquer_mesures_controlees' est-elle généralement appelée dans le processus de gestion des mesures ?

Avant la collecte des mesures.
Lors de la mise à jour des données.
Après la vérification des mesures.
Après la validation des mesures.

Lors de la mise à jour des données.

Explication

La procédure 'marquer_mesures_controlees' est appelée lors de la mise à jour des mesures pour modifier leur statut. Elle n'est pas utilisée avant la collecte, la validation ou la vérification, mais spécifiquement lors de la mise à jour.

9. En quoi la méthode utilisant des témoins dans la procédure 'marquer_mesures_controlees' diffère-t-elle de l'utilisation d'une seule mesure témoin pour assurer la non-régression ?

Les témoins permettent de vérifier plusieurs scénarios de mesure, tandis qu'une seule mesure témoin ne couvre qu'un cas spécifique.
Les témoins garantissent la non-modification des autres mesures, alors qu'une seule mesure témoin ne le peut pas.
Les témoins sont insérés dans une transaction, alors qu'une seule mesure témoin ne l'est pas.
Les témoins sont utilisés uniquement pour la station cible, alors qu'une seule mesure témoin peut couvrir plusieurs stations.

Les témoins permettent de vérifier plusieurs scénarios de mesure, tandis qu'une seule mesure témoin ne couvre qu'un cas spécifique.

Explication

Les témoins offrent une vérification multi-scénarios, ce qui permet de confirmer que la procédure ne modifie pas indûment d'autres mesures, contrairement à une seule mesure témoin qui ne couvre qu'un cas précis.

10. Qui est crédité de la formulation de la procédure 'marquer_mesures_controlees' dans le contexte de gestion des mesures ?

Un expert en PostgreSQL
Le développeur de la base de données
Le responsable de la qualité des mesures
L'auteur du cours

L'auteur du cours

Explication

L'auteur du cours est celui qui a formulé la procédure 'marquer_mesures_controlees' pour illustrer la gestion des mesures. Le développeur ou l'expert pourrait l'avoir implémentée, mais ce n'est pas précisé comme crédit dans le document.

11. Quelles sont les principales conséquences de l'utilisation du filtre OR au lieu du filtre AND lors de la mise à jour des mesures dans la procédure 'marquer_mesures_controlees' ?

Le filtre OR limite la mise à jour uniquement aux mesures correspondant exactement à la station et au jour spécifiés, évitant toute modification indésirable.
L'utilisation du filtre OR augmente la vitesse d'exécution en ciblant plus de mesures, mais peut réduire la précision de la mise à jour.
Le filtre OR entraîne une sur-modification des mesures, modifiant également celles qui ne correspondent pas précisément à la station et au jour demandés.
Le filtre OR n'a pas d'effet sur la sélection des mesures, car il est équivalent au filtre AND dans ce contexte.

Le filtre OR entraîne une sur-modification des mesures, modifiant également celles qui ne correspondent pas précisément à la station et au jour demandés.

Explication

Le filtre OR modifie toutes les mesures de la station ou du jour demandés, ce qui peut entraîner une sur-modification, contrairement au filtre AND qui cible précisément la station et le jour. La sur-modification est une conséquence directe de l'effet logique de l'opérateur OR.

Révisez avec les flashcards

Mémorisez les réponses avec 11 flashcards sur Procédures PostgreSQL et transactions.

Que fait la procédure marquer_mesures_controlees en PL/pgSQL ?

Elle crée ou remplace une procédure appelée avec CALL pour mettre à jour la qualité des mesures.

Procédure ciblée

Met à jour la qualité des mesures pour station et jour.

Quel est le rôle de RAISE NOTICE dans la procédure ?

Il affiche un message informatif sans interrompre l'exécution.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Procédures PostgreSQL et transactions.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM