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
Quel mot-clé donne à une colonne ou à une table un autre nom temporaire dans une requête ?
ANAME
BAS
CALIAS
DRENAME
2.Facile
À quoi sert un diagramme entité-association (ER) ?
AÀ lister les utilisateurs d'une base de données
BÀ modéliser les entités, leurs attributs et leurs associations lors de la conception d'une base de données
CÀ montrer comment une requête est exécutée
DÀ mesurer les performances d'une base de données
3.Facile
Des instructions comme CREATE, ALTER et DROP appartiennent à quelle partie de SQL ?
ALe langage de contrôle de données (DCL)
BLe langage de contrôle des transactions (TCL)
CLe langage de définition de données (DDL)
DLe langage de manipulation de données (DML)
4.Moyen
La deuxième forme normale (2NF) élimine :
AToutes les valeurs NULL
BLes clés étrangères
CLes dépendances transitives entre colonnes non clés via une autre colonne non clé
DLes dépendances partielles des colonnes non clés vis-à-vis d'une partie d'une clé composée
5.Moyen
Que fait GRANT SELECT ON employees TO alice ?
AIl copie la table employees pour alice
BIl fait d'alice la propriétaire de la base de données
CIl autorise alice à modifier et à supprimer des lignes de la table employees
DIl autorise l'utilisatrice alice à lire la table employees
6.Moyen
Qu'est-ce qu'une lecture sale (dirty read) ?
ALa lecture de données écrites par une autre transaction qui n'a pas encore été validée
BLa lecture de données sans clause WHERE
CLa lecture d'une même ligne deux fois avec la même valeur
DLa lecture de données sur un disque corrompu
7.Difficile
Après customers LEFT JOIN orders, pourquoi utiliser COUNT(o.id) plutôt que COUNT(*) pour compter les commandes par client ?
ACOUNT(*) ignore les lignes contenant des valeurs NULL
BCOUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
CCOUNT(*) n'est pas autorisé après une jointure
DCOUNT(o.id) ne compte que les clients distincts
8.Difficile
Quand un ordonnancement de transactions concurrentes est-il dit sérialisable ?
AQuand aucune transaction ne lit jamais de données
BQuand les transactions s'exécutent sur un seul processeur
CQuand chaque transaction reçoit un numéro de série
DQuand son effet équivaut à une exécution en série des mêmes transactions
Corrigé
1. B · AS
2. B · À modéliser les entités, leurs attributs et leurs associations lors de la conception d'une base de données
3. C · Le langage de définition de données (DDL)
4. D · Les dépendances partielles des colonnes non clés vis-à-vis d'une partie d'une clé composée
5. D · Il autorise l'utilisatrice alice à lire la table employees
6. A · La lecture de données écrites par une autre transaction qui n'a pas encore été validée
7. B · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
8. D · Quand son effet équivaut à une exécution en série des mêmes transactions
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.