Questions

Créer en SQL la vue v_questionnaire permettant d'afficher tous les questionnaires avec leurs questions sous la forme suivante.

questionnaire

number

label

Questionnaire BDD

1

Aimez vous l'UML ?

Questionnaire BDD

2

Aimez vous le Relationnel ?

Questionnaire BDD

3

Aimez vous le SQL ?

Questionnaire DW

1

Aimez vous le dimensionnel ?

Questionnaire DW

2

Aimez vous le relationnel-objet ?

...

Les questions d'un même questionnaire doivent se suivre et être dans l'ordre croissant de leur numéro number.

CREATE VIEW v_questionnaire AS
SELECT questionnaire, number, label
FROM question
ORDER BY questionnaire, number

Écrire en algèbre relationnel et en SQL la requête permettant d'afficher toutes les questions avec les logins des utilisateurs qui y ont répondu et leur réponse.

number

label

login

value

1

Aimez vous l'UML ?

nf17p001

-1

1

Aimez vous l'UML ?

nf17p002

2

1

Aimez vous l'UML ?

nf17p003

-1

...

2

Aimez vous le Relationnel ?

nf17p001

1

2

Aimez vous le Relationnel ?

nf17p002

2

...

Projection (
Jointure (answer, question, question=number AND questionnaire=questionnaire),
number,label,login,value)
SELECT q.number, q.label, a.login, a.value
FROM answer a JOIN question q
ON a.question=q.number AND a.questionnaire=q.questionnaire

Écrivez en SQL la requête permettant d'obtenir la moyenne pour chaque question de la base de données. [1pt]

questionnaire

question

label

moyenne

Questionnaire BDD

1

Aimez vous l'UML ?

-1.2

Questionnaire BDD

2

Aimez vous le Relationnel ?

1.9

Questionnaire BDD

3

Aimez vous le SQL ?

0.1

Questionnaire DW

1

Aimez vous le dimensionnel ?

1.1

Questionnaire DW

2

Aimez vous le relationnel-objet ?

-1.2

...

SELECT a.questionnaire, q.number, q.label, avg(a.value)
FROM answer a JOIN question q
ON a.question=q.number AND a.questionnaire=q.questionnaire
GROUP BY a.questionnaire, q.number, q.label
ORDER BY a.questionnaire, q.number
AccueilExercices > Questions en question > Exercice : Questions< PrécédentSuivant >