Fiche d’exercices de Bases de données et SQL avec corrigé
Fiche d’exercices de Bases de données et SQL gratuite et imprimable : 8 exercices, du niveau facile au niveau examen, avec corrigé. Imprimez-la ou enregistrez-la en PDF.
Pour les enseignants : gratuite à imprimer, copier et utiliser en classe. Chaque nouvelle fiche a de nouvelles valeurs et son propre corrigé. Un lien vers ExamProblems sur la page de votre cours est apprécié.
Nom: ____________________ Date: ____________
1.Facile
Qu'est-ce qu'une clé primaire (primary key) ?
AUn mot de passe pour la base de données
BLa première colonne de chaque table
CUne colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
DUne colonne qui peut contenir des doublons mais ne doit jamais contenir NULL
2.Facile
Quelle contrainte garantit qu'une colonne ne peut jamais rester vide (NULL) ?
ANOT NULL
BDEFAULT
CUNIQUE
DCHECK NULL
3.Facile
Dans PostgreSQL et MySQL, quelle clause renvoie uniquement les 10 premières lignes d'un résultat ?
AMAX 10
BFIRST 10 ONLY
CTOP ROWS 10
DLIMIT 10
4.Moyen
En algèbre relationnelle, l'opérateur de projection (π) correspond :
AÀ la combinaison de deux tables sur une clé
BAu choix des lignes qui satisfont une condition donnée
CAu choix des colonnes qui apparaissent dans le résultat
DAu tri du résultat
5.Moyen
Quelle requête renvoie le nombre de commandes par client ?
ASELECT DISTINCT COUNT(*) FROM orders
BSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
DSELECT customer_id FROM orders WHERE COUNT(*) > 0
6.Moyen
Que signifie la dépendance fonctionnelle A → B ?
AA et B sont toutes deux des clés primaires
BChaque valeur de A est associée à exactement une valeur de B
CChaque valeur de B est associée à exactement une valeur de A
DA est une clé étrangère qui fait référence à B
7.Difficile
Que calcule SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales ?
AUne ligne par jour avec uniquement le total de ce jour
BUn total cumulé de amount, ordonné par day
CLe total de tous les montants sur chaque ligne
DLe montant moyen par jour
8.Difficile
Il existe un index composé sur (last_name, first_name). Quelle condition peut l'utiliser le plus efficacement ?
AWHERE UPPER(first_name) = 'EVA'
BWHERE first_name LIKE '%a'
CWHERE first_name = 'Eva'
DWHERE last_name = 'Jansen'
Corrigé
1. C · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
2. A · NOT NULL
3. D · LIMIT 10
4. C · Au choix des colonnes qui apparaissent dans le résultat
5. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
6. B · Chaque valeur de A est associée à exactement une valeur de B
7. B · Un total cumulé de amount, ordonné par day
8. D · WHERE last_name = 'Jansen'
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.