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
Quelle contrainte garantit qu'une colonne ne peut jamais rester vide (NULL) ?
ADEFAULT
BUNIQUE
CCHECK NULL
DNOT NULL
2.Facile
Une clé étrangère (foreign key) est :
AUne clé toujours chiffrée
BUne colonne qui fait référence à la clé primaire d'une autre table
CUne colonne dont les valeurs doivent être uniques sur toutes les lignes de la table
DUne clé utilisée par des utilisateurs étrangers
3.Facile
Quelle instruction ajoute une nouvelle colonne à une table existante ?
AINSERT COLUMN
BALTER TABLE
CUPDATE TABLE
DCREATE COLUMN
4.Moyen
La troisième forme normale (3NF) élimine :
ALes clés composées
BLes index redondants sur des colonnes qui ne font pas partie d'une clé
CLes dépendances transitives entre attributs non clés
DLes valeurs atomiques
5.Moyen
En algèbre relationnelle, l'opérateur de projection (π) correspond :
AÀ la combinaison de deux tables sur une clé
BAu tri du résultat
CAu choix des colonnes qui apparaissent dans le résultat
DAu choix des lignes qui satisfont une condition donnée
6.Moyen
Que renvoie INTERSECT utilisé entre deux requêtes SELECT ?
AToutes les lignes des deux résultats
BLes lignes du premier résultat absentes du second
CLe produit cartésien des résultats
DLes lignes présentes dans les deux résultats
7.Difficile
Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?
Adept doit figurer dans une fonction d'agrégation
BGROUP BY doit lister toutes les colonnes de la table
Cname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
DCOUNT(*) ne peut pas être utilisé avec GROUP BY
8.Difficile
Que calcule SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales ?
ALe total de tous les montants sur chaque ligne
BLe montant moyen par jour
CUn total cumulé de amount, ordonné par day
DUne ligne par jour avec uniquement le total de ce jour
Corrigé
1. D · NOT NULL
2. B · Une colonne qui fait référence à la clé primaire d'une autre table
3. B · ALTER TABLE
4. C · Les dépendances transitives entre attributs non clés
5. C · Au choix des colonnes qui apparaissent dans le résultat
6. D · Les lignes présentes dans les deux résultats
7. C · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
8. C · Un total cumulé de amount, ordonné par day
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.