Consignes
- L'épreuve comporte trois exercices indépendants.
- Les requêtes doivent être écrites en SQL normalisé.
- La lisibilité du code entre dans la notation.
Exercice 1 — Modélisation de données
Une administration souhaite informatiser la gestion des demandes d'actes d'état civil. Un citoyen peut déposer plusieurs demandes ; chaque demande porte sur un seul type d'acte et est traitée dans un seul guichet.
1.
Citer les quatre tables nécessaires et indiquer, pour chacune, sa clé primaire.
2,5 pts2.
Indiquer les cardinalités entre citoyen et demande, puis entre demande et type d'acte.
2 pts3.
Qu'est-ce qu'une clé étrangère ? Où se place-t-elle dans une relation « un à plusieurs » ?
1,5 pts4.
Expliquer ce qu'apporte la normalisation d'une base de données. Donner un exemple de problème qu'elle évite.
1 ptExercice 2 — Requêtes SQL
Schéma de la base
citoyen (id_citoyen, nom, prenom, date_naissance, commune)
demande (id_demande, id_citoyen, id_type, id_guichet, date_depot, statut, montant)
type_acte (id_type, libelle, tarif)
guichet (id_guichet, nom_guichet, commune)
5.
Écrire la requête qui affiche le nom et le prénom de tous les citoyens de la commune de Koudougou, triés par nom.
1,5 pts6.
Écrire la requête qui compte le nombre de demandes par statut.
1,5 pts7.
Écrire la requête qui affiche le nom du citoyen, le libellé de l'acte et la date de dépôt pour toutes les demandes encore au statut « en attente ».
2 pts8.
Écrire la requête qui donne le montant total encaissé par guichet, du plus élevé au plus faible.
2 ptsExercice 3 — Exploitation et sécurité
9.
Expliquer ce qu'est un index et dans quel cas il améliore les performances. Pourquoi ne faut-il pas en créer partout ?
2 pts10.
Qu'est-ce qu'une injection SQL ? Comment s'en protège-t-on ?
2 pts11.
Cette base contient des données personnelles. Citer trois obligations qui en découlent pour l'administration.
2 pts