Promo 2005-2007 - Dossier EdC SQL - bts blanc du 21.mars.2007
Éléments de correction :
QUESTION 3.1 : Indiquer si l’on peut obtenir par une requête la liste des pages qui n’ont jamais été consultées, et pourquoi.
- Le principe de la table "Log" est de garder les historiques des accès aux pages. Une page jamais demandée n’y figure donc pas.
QUESTION 3.2.a : Nombres de consultations par page web, triés par ordre décroissant.
SELECT | chemin_page_web, count(*) |
FROM | log |
GROUP BY | chemin_page_web |
ORDER BY | 2 DESC |
; |
QUESTION 3.2.b : Nombres de consultations par pays d’origine, en précisant son nom.
SELECT | nom_pays, count(*) |
FROM | plages_ip, pays, log |
WHERE | ip_acces >= ip_debut |
AND | ip_acces <= ip_fin |
AND | plages_ip.code_pays = pays.code_pays |
GROUP BY | nom_pays |
; |
QUESTION 3.3 : Expliquer pourquoi l’adresse IP est représentée sous forme numérique entière de 32 bits et non pas sous la forme alphanumérique.
- Le choix de ce type se comprend par la nécessité de faire des comparaisons de valeurs (présence d’une adresse IP dans les plages de valeur de "Plages-Ip" ce que ne permet pas la notation décimale stockée sous forme alphanumérique.
- On acceptera une justification faisant appel seulement à un problème de taille de données.
QUESTION 3.4 : Rédiger la requête SQL qui donne à l’application le droit d’accès en lecture sur la table "Log".
GRANT SELECT ON Log TO statacces ;