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

Questions et réponses du QCM

1. Dans une table relationnelle, comment appelle-t-on une ligne dans le vocabulaire de l’algèbre relationnelle ?

Un schéma regroupant les colonnes de la table
Un attribut correspondant à une propriété de l’objet
Une relation décrivant une caractéristique commune
Un tuple représentant un objet décrit par ses attributs

Un tuple représentant un objet décrit par ses attributs

Explication

En algèbre relationnelle, chaque ligne est appelée un tuple et rassemble les valeurs décrivant un objet. Un attribut désigne plutôt une colonne, et non une ligne.

2. Une équipe veut stocker des informations structurées, avec un objet par ligne et ses caractéristiques en colonnes. Quelle approche de modélisation correspond à ce besoin ?

La modélisation relationnelle place chaque caractéristique dans une ligne et chaque objet dans une colonne
La modélisation non relationnelle organise les données en tables de lignes et de colonnes
La modélisation relationnelle organise les données en tables de lignes et de colonnes
La modélisation relationnelle définit une table différente pour chaque valeur d’attribut

La modélisation relationnelle organise les données en tables de lignes et de colonnes

Explication

La modélisation relationnelle structure les données sous forme de tables où les lignes représentent des objets et les colonnes leurs caractéristiques. L’approche non relationnelle est plutôt associée aux données moins structurées ou à certains contextes de Big Data.

3. À mesure qu’une base contient davantage de données, quel besoin le recours à un SGBD aide-t-il à satisfaire ?

Gérer l’accès aux données et servir d’intermédiaire entre les applications et leur stockage
Transformer automatiquement les données structurées en données non relationnelles
Remplacer les applications qui exploitent les données stockées
Garantir que chaque requête utilise les mêmes fonctions dans tous les environnements SQL

Gérer l’accès aux données et servir d’intermédiaire entre les applications et leur stockage

Explication

Le SGBD gère l’accès aux données et fait le lien entre les applications et le stockage, ce qui répond aux difficultés d’accès et de modification lorsque le volume augmente. Il ne garantit pas que les noms de fonctions soient identiques entre différents SGBDR.

4. Une opération SQL doit actualiser plusieurs lignes déjà enregistrées. À quelle famille de requêtes cette opération appartient-elle ?

Au langage de définition relationnelle, qui sert à organiser les colonnes des tables
Au LCD, qui sert à contrôler les données de la base
Au LMD, qui sert à manipuler les lignes, notamment à les actualiser
Au LDD, qui sert à définir ou supprimer des objets de la base

Au LMD, qui sert à manipuler les lignes, notamment à les actualiser

Explication

L’actualisation des lignes fait partie des opérations de manipulation couvertes par le LMD. Le LDD concerne la définition ou la suppression d’objets de la base, et non la modification des lignes.

5. Une clé primaire est composée de trois colonnes. Combien de colonnes doit comporter la clé étrangère qui la référence ?

Une colonne contenant une valeur concaténée des trois colonnes
Quatre colonnes, dont une sert à identifier la table référencée
Trois colonnes correspondant à celles de la clé primaire composée
Deux colonnes choisies parmi les trois colonnes de la clé primaire

Trois colonnes correspondant à celles de la clé primaire composée

Explication

Une clé étrangère doit correspondre en nombre de colonnes à la clé primaire qu’elle référence, donc elle en comporte trois dans ce cas. Une seule colonne concaténant les valeurs ne respecte pas cette règle de correspondance.

6. Une table contient plusieurs clés candidates capables d’identifier chaque ligne. Quel choix est généralement retenu pour la clé primaire ?

Toutes les clés candidates, réunies dans une clé primaire unique
La clé candidate comportant le plus grand nombre de colonnes
Une des clés candidates, souvent la plus simple
Une clé étrangère qui référence une autre table

Une des clés candidates, souvent la plus simple

Explication

Lorsqu’il existe plusieurs clés possibles, on en choisit une comme clé primaire, souvent la plus simple. Les autres clés candidates ne sont pas réunies automatiquement dans la clé primaire.

7. Une requête doit renvoyer le nom des clients dont l’âge dépasse 30 ans. Quel rôle joue la clause FROM dans cette requête ?

Elle indique la table contenant les clients à interroger.
Elle choisit les colonnes affichées dans le résultat.
Elle écarte les lignes dont l’âge ne dépasse pas 30 ans.
Elle transforme chaque âge en une valeur calculée par ligne.

Elle indique la table contenant les clients à interroger.

Explication

FROM désigne la ou les tables à partir desquelles le résultat est construit. La sélection des colonnes relève de SELECT, tandis que l’élimination des lignes selon l’âge relève de WHERE.

8. Une requête applique une fonction scalaire à la colonne des noms avant de renvoyer les résultats. Quelle propriété caractérise cette fonction ?

Elle regroupe les lignes ayant des noms identiques et calcule une valeur par groupe.
Elle trie les lignes selon le résultat obtenu pour la colonne des noms.
Elle compare les valeurs de plusieurs tables pour ne garder que les correspondances.
Elle traite chaque valeur de la colonne et produit un résultat pour chaque ligne.

Elle traite chaque valeur de la colonne et produit un résultat pour chaque ligne.

Explication

Une fonction scalaire s’applique de manière identique à chaque valeur et fournit un résultat par ligne. Une fonction d’agrégation, contrairement à elle, résume plusieurs valeurs en une valeur pour un groupe.

9. Une jointure externe gauche place la table des commandes à gauche et celle des clients à droite. Que devient une commande sans client correspondant ?

La commande est associée à chaque ligne de la table des clients avant le filtrage.
La commande disparaît, car seules les paires ayant une correspondance sont conservées.
La commande reste dans le résultat, avec des valeurs manquantes pour les colonnes du client.
La commande reste dans le résultat uniquement si son identifiant correspond à celui d’un client.

La commande reste dans le résultat, avec des valeurs manquantes pour les colonnes du client.

Explication

La jointure externe gauche conserve toutes les lignes de la table placée à gauche, même sans correspondance à droite. Une jointure interne écarterait cette commande faute de paire correspondante.

10. Une école modélise les inscriptions de nombreux élèves à de nombreux cours. Quelle structure représente adéquatement ce lien plusieurs-à-plusieurs ?

Une colonne d’élève dans la table des cours, contenant un seul élève par cours.
Une copie des informations de chaque élève dans chaque ligne de la table des cours.
Une table d’association reliant les élèves et les cours par leurs clés étrangères.
Une colonne de cours dans la table des élèves, contenant un seul cours par élève.

Une table d’association reliant les élèves et les cours par leurs clés étrangères.

Explication

Une relation plusieurs-à-plusieurs est représentée par une table d’association qui relie les deux tables, généralement au moyen de leurs clés étrangères. Une seule colonne de cours ou d’élève dans l’une des tables ne permet pas de représenter proprement les multiples liens.

11. Une requête combine toutes les lignes de deux tables sans condition de correspondance. Quelles colonnes forment une clé potentielle du produit cartésien ?

La clé de la première table prise seule.
La clé de la seconde table prise seule.
Les colonnes présentes dans les deux tables.
Le regroupement des clés des deux tables.

Le regroupement des clés des deux tables.

Explication

Dans un produit cartésien, chaque ligne du résultat associe une ligne de chaque table; la combinaison de leurs clés permet donc d’identifier les paires. La clé d’une seule table ne distingue pas les différentes associations possibles avec les lignes de l’autre.

12. Une requête SELECT ne renvoie que le nom de ville, alors que plusieurs clients peuvent habiter la même ville. Quel risque existe pour la clé du résultat ?

Le résultat conserve nécessairement la clé des clients, même si cette colonne n’est pas sélectionnée.
Chaque ville devient une clé unique dès lors que la requête ne renvoie qu’une colonne.
Le résultat ne peut contenir qu’une ligne, car les valeurs répétées sont fusionnées par SELECT.
Le résultat peut contenir des villes répétées et ne pas avoir de clé unique parmi les colonnes renvoyées.

Le résultat peut contenir des villes répétées et ne pas avoir de clé unique parmi les colonnes renvoyées.

Explication

Si les colonnes sélectionnées ne contiennent pas de clé potentielle, plusieurs lignes peuvent avoir les mêmes valeurs et des doublons sont possibles. La clé des clients n’identifie pas les lignes du résultat si elle n’y figure pas.

13. Une requête regroupe les ventes par région et calcule leur montant total. Quelle colonne détermine l’identité de chaque groupe dans le résultat ?

La colonne Montant, sur laquelle porte la somme
La colonne Région, utilisée pour le partitionnement
Le nombre total de lignes de la table avant regroupement
La colonne Date, même si elle n’est pas dans le GROUP BY

La colonne Région, utilisée pour le partitionnement

Explication

Chaque groupe rassemble les lignes qui partagent la même valeur de la colonne Région, et cette colonne constitue donc la clé du résultat agrégé. La colonne Montant contribue au calcul de la somme, mais elle ne définit pas les groupes dans cet exemple.

14. Une requête regroupe des commandes par client et affiche le client ainsi que la somme des montants. Que faut-il faire pour afficher aussi le statut de la commande dans SELECT ?

Placer le statut dans HAVING sans modifier les autres clauses
Remplacer la somme par une condition de filtrage dans WHERE
Ajouter le statut à GROUP BY ou l’intégrer à une fonction d’agrégation
Ajouter le statut uniquement à ORDER BY pour le rendre sélectionnable

Ajouter le statut à GROUP BY ou l’intégrer à une fonction d’agrégation

Explication

Dans une requête agrégée, toute colonne de SELECT doit être agrégée ou figurer dans GROUP BY ; ajouter le statut au regroupement modifierait la définition des groupes. HAVING sert à filtrer des groupes, et ne rend pas à lui seul une colonne sélectionnable.

15. Une recherche doit trouver les noms contenant « pierre », sans distinguer les majuscules des minuscules. Quelle approche répond à ce besoin ?

Utiliser LIKE avec un tiret bas à la place de la chaîne recherchée
Appliquer LOWER au nom et le comparer à un motif en minuscules avec LIKE
Utiliser ORDER BY sur le nom pour ignorer les différences de casse
Appliquer UNION au nom et au motif afin de fusionner les correspondances

Appliquer LOWER au nom et le comparer à un motif en minuscules avec LIKE

Explication

LOWER convertit le nom en minuscules, ce qui permet de le comparer à un motif en minuscules avec LIKE sans dépendre de la casse initiale. ORDER BY organise les lignes, mais ne modifie pas la manière dont une recherche compare les chaînes.

16. Dans une clause LIKE, quel motif reconnaît une chaîne contenant exactement un caractère quelconque à cet emplacement ?

Le mot-clé DESC, qui inverse l’ordre des caractères
Une virgule, qui sépare deux motifs de recherche
Le caractère souligné, qui représente un caractère inconnu
Le signe pourcentage, qui représente un caractère inconnu

Le caractère souligné, qui représente un caractère inconnu

Explication

Dans un motif LIKE, le caractère souligné représente exactement un caractère quelconque. Le signe pourcentage représente une suite de longueur variable, qui peut même être vide.

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.

Table — organisation ?

Une ligne par objet, une colonne par caractéristique.

SGBDR — rôle ?

Gérer des bases de données 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