Aller au contenu
ConcoursBFRéussir ensemble
  1. Accueil
  2. Annales
  3. ANPTIC
  4. Épreuve technique

Sociétés d'État

ANPTIC · Développeur / Administrateur de bases de données · Épreuve technique

ANPTIC (modèle) — Test écrit Développeur / Base de données

  • Développeur / Administrateur de bases de données
  • ⏱ 3 h
  • Coefficient 4
  • Niveau difficile
  • 11 questions

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 pts
2.
Indiquer les cardinalités entre citoyen et demande, puis entre demande et type d'acte.
2 pts
3.
Qu'est-ce qu'une clé étrangère ? Où se place-t-elle dans une relation « un à plusieurs » ?
1,5 pts
4.
Expliquer ce qu'apporte la normalisation d'une base de données. Donner un exemple de problème qu'elle évite.
1 pt

Exercice 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 pts
6.
Écrire la requête qui compte le nombre de demandes par statut.
1,5 pts
7.
É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 pts
8.
Écrire la requête qui donne le montant total encaissé par guichet, du plus élevé au plus faible.
2 pts

Exercice 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 pts
10.
Qu'est-ce qu'une injection SQL ? Comment s'en protège-t-on ?
2 pts
11.
Cette base contient des données personnelles. Citer trois obligations qui en découlent pour l'administration.
2 pts