QCM : Introduction à la modélisation relationnelle et SQL — 16 questions

Questions et réponses du QCM

1. Dans le modèle relationnel, quelle correspondance décrit correctement une table ?

Une ligne représente un objet et une colonne représente une caractéristique
Une table représente uniquement une relation entre deux objets
Une colonne représente un objet et une ligne représente une caractéristique
Une ligne représente une clé primaire et une colonne une clé étrangère

Une ligne représente un objet et une colonne représente une caractéristique

Explication

Dans une table relationnelle, chaque ligne correspond à un objet et chaque colonne à une caractéristique. C’est précisément la base de la modélisation relationnelle.

2. Que désigne le schéma d’une table en modélisation relationnelle ?

La clé primaire de la table
L’ordre d’affichage des données
L’ensemble de ses lignes
L’ensemble de ses colonnes

L’ensemble de ses colonnes

Explication

Le schéma d’une table correspond à la structure de la table, donc à ses colonnes. Il ne dépend ni de l’ordre des lignes ni de la valeur de la clé primaire.

3. Quel est le rôle principal d’un SGBDR dans une base relationnelle ?

Remplacer le langage SQL par des formulaires graphiques
Stocker uniquement des données non structurées
Dessiner automatiquement le schéma conceptuel de la base
Gérer des tables relationnelles et servir d’intermédiaire d’accès aux données

Gérer des tables relationnelles et servir d’intermédiaire d’accès aux données

Explication

Un SGBDR gère des bases de données relationnelles et organise l’accès aux données entre les applications et le stockage. SQL est le langage utilisé pour dialoguer avec lui.

4. À quoi sert le langage SQL dans un SGBDR ?

À formuler des requêtes pour créer, contrôler et manipuler les données
À définir uniquement les relations entre utilisateurs
À remplacer les tables par des fichiers texte
À compresser physiquement les fichiers de la base

À formuler des requêtes pour créer, contrôler et manipuler les données

Explication

SQL est le langage standard des requêtes adressées à un SGBDR. Il sert notamment à définir, contrôler et manipuler les données.

5. Quelle propriété caractérise une clé primaire dans une table ?

Elle identifie de façon unique une ligne
Elle référence la clé primaire d’une autre table
Elle permet de dupliquer plusieurs lignes identiques
Elle décrit seulement une caractéristique métier

Elle identifie de façon unique une ligne

Explication

Une clé primaire sert à identifier une ligne sans ambiguïté grâce à son unicité. La référence à une autre table correspond plutôt à une clé étrangère.

6. Pourquoi utilise-t-on une clé artificielle ?

Pour remplacer toutes les colonnes descriptives d’une table
Pour relier directement deux tables sans clé primaire
Pour autoriser plusieurs valeurs identiques dans une clé primaire
Pour créer un identifiant unique lorsqu’aucune colonne naturelle ne suffit

Pour créer un identifiant unique lorsqu’aucune colonne naturelle ne suffit

Explication

Une clé artificielle est ajoutée pour assurer l’unicité quand aucune donnée naturelle ne permet d’identifier sûrement une ligne. Son rôle est uniquement identificatoire.

7. Quel est le rôle de la clause WHERE dans une requête SQL ?

Ordonner les résultats
Choisir les tables à utiliser
Filtrer les lignes selon une condition
Fusionner deux requêtes compatibles

Filtrer les lignes selon une condition

Explication

WHERE conserve uniquement les lignes qui vérifient la condition. FROM désigne les tables, tandis que ORDER BY sert au tri.

8. Que signifie l’astérisque dans une instruction SELECT * ?

Une sélection limitée aux colonnes clés
Toutes les colonnes disponibles de la table
Une colonne obligatoire appelée étoile
Toutes les lignes de la table

Toutes les colonnes disponibles de la table

Explication

Dans SELECT, * signifie que toutes les colonnes sont renvoyées. Ce symbole ne concerne pas les lignes, mais les attributs sélectionnés.

9. Quelle est la caractéristique essentielle d’une table d’association ?

Représenter une relation plusieurs-à-plusieurs entre deux tables
Conserver seulement les lignes sans correspondance
Remplacer une clé primaire par une clé étrangère
Fusionner automatiquement deux tables sans condition

Représenter une relation plusieurs-à-plusieurs entre deux tables

Explication

Une table d’association sert à modéliser une relation plusieurs-à-plusieurs. Elle contient en général des clés étrangères vers les deux tables concernées.

10. Dans une jointure interne, quelles lignes sont conservées ?

Toutes les lignes de la table de gauche, même sans correspondance
Seulement les paires de lignes qui satisfont la condition de jointure
Seulement les lignes de la seconde table
Toutes les lignes des deux tables sans filtrage

Seulement les paires de lignes qui satisfont la condition de jointure

Explication

Une jointure interne ne garde que les correspondances vérifiant la condition de jointure. Les lignes sans match sont exclues, contrairement à une jointure externe.

11. Dans un résultat obtenu après une jointure ou un filtre, que désigne une clé primaire potentielle ?

Une colonne calculée qui résume toutes les autres valeurs du résultat
Une colonne ou un ensemble de colonnes qui pourrait identifier chaque ligne du résultat de façon unique
Une colonne qui sert uniquement à trier les lignes du résultat
Une colonne contenant forcément des valeurs étrangères vers une autre table

Une colonne ou un ensemble de colonnes qui pourrait identifier chaque ligne du résultat de façon unique

Explication

Une clé primaire potentielle est un ensemble de colonnes capable d’identifier chaque ligne sans ambiguïté dans le résultat. Elle peut exister même si la requête ne la définit pas explicitement comme clé primaire.

12. Pourquoi un filtre avec WHERE peut-il parfois simplifier une clé composée dans un résultat intermédiaire ?

Parce qu’il regroupe les lignes avant d’appliquer les conditions
Parce qu’il transforme automatiquement toute clé composée en clé artificielle
Parce qu’il élimine des lignes et peut rendre une partie de la clé inutile pour distinguer les lignes restantes
Parce qu’il remplace une clé primaire par une clé étrangère

Parce qu’il élimine des lignes et peut rendre une partie de la clé inutile pour distinguer les lignes restantes

Explication

WHERE supprime certaines lignes avant la suite du traitement, donc une partie d’une clé composée peut devenir superflue tout en gardant l’unicité. En revanche, il ne réalise pas d’agrégation ni de conversion en clé artificielle.

13. Dans une requête avec GROUP BY, quel couple de règles permet d’utiliser correctement une fonction d’agrégation dans SELECT ?

Toutes les autres colonnes doivent être supprimées du résultat
Toutes les autres colonnes doivent obligatoirement être dans WHERE
Toutes les autres colonnes doivent être triées avec ORDER BY
Toutes les autres colonnes doivent être soit agrégées, soit présentes dans GROUP BY

Toutes les autres colonnes doivent être soit agrégées, soit présentes dans GROUP BY

Explication

Avec GROUP BY, une colonne non agrégée doit appartenir aux colonnes de partitionnement, sinon la requête n’a pas de sens par groupe. C’est la règle centrale qui encadre l’usage de SELECT avec des agrégations.

14. Quelle clause sert à filtrer des groupes après l’agrégation ?

FROM, car elle sélectionne les groupes à conserver
WHERE, car elle s’applique directement aux groupes formés
ORDER BY, car elle élimine les groupes non conformes
HAVING, car elle s’applique aux résultats des fonctions d’agrégation

HAVING, car elle s’applique aux résultats des fonctions d’agrégation

Explication

HAVING filtre après GROUP BY en s’appuyant sur des valeurs agrégées, comme un total ou une moyenne. WHERE intervient avant l’agrégation et ne filtre pas les groupes produits.

15. Quel est le rôle de la clause ORDER BY dans une requête SQL ?

Rechercher des motifs dans une chaîne de caractères
Fusionner deux résultats compatibles en un seul
Ordonner les lignes du résultat selon une ou plusieurs colonnes
Filtrer les lignes selon une condition booléenne

Ordonner les lignes du résultat selon une ou plusieurs colonnes

Explication

ORDER BY sert à trier les lignes du résultat, éventuellement sur plusieurs colonnes. Le filtrage relève de WHERE et la fusion de résultats compatibles de UNION.

16. Que faut-il vérifier pour qu’une opération UNION soit valide entre deux requêtes ?

Que les deux requêtes soient triées avec ORDER BY
Que les deux requêtes aient le même schéma, avec des colonnes et des types compatibles
Que les deux requêtes contiennent au moins une clause HAVING
Que les deux requêtes utilisent forcément la même table source

Que les deux requêtes aient le même schéma, avec des colonnes et des types compatibles

Explication

UNION concatène deux résultats seulement si leurs schémas sont compatibles, c’est-à-dire avec le même nombre de colonnes et des types correspondants. Sans cela, l’union n’est pas valide.

Révisez avec les flashcards

Mémorisez les réponses avec 16 flashcards sur Introduction à la modélisation relationnelle et SQL.

Modélisation relationnelle — définition ?

Structuration des données en tables avec lignes et colonnes.

Table — rôle ?

Stocke des objets et leurs caractéristiques.

Relation — autre nom ?

Une table en théorie des bases relationnelles.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Introduction à la modélisation relationnelle et SQL.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM