TP noté : requêtes sur la base quiz
On considère le schéma du gestionnaire de QCM dont on rappelle :
Il est interdit de modifier le schéma : lors de la correction, les requêtes seront évaluées sur le schéma original.
Il faut compléter le présent fichier avec les requêtes et le rendre par mail à romuald.thion@univ-lyon1.fr
pour la fin de la séance du 2023-11-02 à 12:00 (GMT+11).
Les scripts SQL doivent s’exécuter sans erreurs : mieux vaut une version dégradée et commentée de la requête qui s’exécute qu’une requête qui ne s’exécute pas.
Question 1
Estimer le temps pris par chaque utilisateur (dont on donne le nom et le prénom) pour répondre aux quiz (dont on donne le titre). Pour cela, on compte le nombre de minutes entre la première et la dernière réponse enregistrée, si on a répondu qu’à une seule réponse, on aura donc la valeur 0.
-- ici la réponse
Question 2
Proposer une nouvelle table multiple_answer
pour permettre d’enregistrer plusieurs réponses à une question.
-- ici la réponse
Question 3
Donner la liste des utilisateurs qui ont donné des réponses qui n’étaient pas des propositions à la question.
-- ici la réponse
Question 4
En comptant +2 par réponse correcte et -1 par réponse fausse, donner pour chaque quiz (dont on donne le titre) le score moyen obtenu par ses participants.
-- ici la réponse
Question 5
Donner pour chaque quiz (dont on donne le titre) le nombre de questions (possiblement 0) qui le composent ainsi que le nombre d’utilisateurs (possiblement 0) qui ont répondu à au moins une de ses questions.
-- ici la réponse
Question 6 (ouverture)
Le script SQL suivant est bien valide en PostgreSQL.
CREATE TABLE bt();
INSERT INTO bt(SELECT);
SELECT * FROM bt;
On peut dire que la table bt
est l’élément neutre pour le produit cartésien (comme 0 est neutre pour l’addition des entiers) : justifier puis illustrer avec une requête SQL.
-- justification en français
-- requête de démonstration