QCM : Introduction aux bases de données — 37 questions

Questions et réponses du QCM

1. Quel est l’objectif principal de la méthode MERISE dans l’analyse d’un système d’information ?

Analyser les besoins à partir d’un cahier des charges et structurer données et traitements
Remplacer l’analyse des besoins par une programmation immédiate des applications
Décrire uniquement les équipements informatiques utilisés par l’organisation
Organiser les équipes selon leurs fonctions sans modéliser les informations

Analyser les besoins à partir d’un cahier des charges et structurer données et traitements

Explication

MERISE part des besoins exprimés dans un cahier des charges pour définir la structure des données et des traitements. La description des équipements relève d’un autre aspect du système informatique et ne constitue pas son objectif principal.

2. Lorsqu’une équipe distingue les niveaux conceptuel, logique et physique pour étudier les données et les traitements, quelle méthode applique-t-elle ?

La méthode MERISE
Une méthode consacrée à la gestion des équipements
Une méthode limitée à la conception physique
Une méthode centrée sur la rédaction des procédures

La méthode MERISE

Explication

MERISE distingue trois niveaux d’analyse, conceptuel, logique et physique, appliqués aux données et aux traitements. Une approche limitée au niveau physique ne rendrait pas compte de cette progression complète.

3. Quel modèle recense et organise visuellement les données manipulées par un système d’information ?

Le Modèle Organisationnel des Traitements
Le Modèle Logique de Données
Le Modèle Conceptuel des Traitements
Le Modèle Conceptuel de Données

Le Modèle Conceptuel de Données

Explication

Le Modèle Conceptuel de Données, ou schéma Entités/Associations, recense et organise les informations manipulées. Le Modèle Logique de Données décrit plutôt la manière dont ces informations sont structurées.

4. Dans MERISE, comment définir une entité ?

Un élément concret ou abstrait identifié de façon unique et regroupant des données
Une donnée élémentaire possédant un domaine de valeurs possibles
Un lien verbal reliant plusieurs éléments du système d’information
Une règle indiquant le nombre de participations à une association

Un élément concret ou abstrait identifié de façon unique et regroupant des données

Explication

Une entité représente un élément concret ou abstrait du système d’information, identifié de manière unique et constitué de données regroupées logiquement. Une donnée élémentaire correspond plutôt à un attribut.

5. Quelle caractéristique distingue un attribut élémentaire d’une valeur calculée ?

Il est obtenu en combinant plusieurs données déjà enregistrées
Il relie plusieurs entités au moyen d’un verbe d’action
Il décrit directement une entité et possède un domaine de valeurs possibles
Il identifie nécessairement une entité parmi toutes celles du même type

Il décrit directement une entité et possède un domaine de valeurs possibles

Explication

Un attribut est une donnée élémentaire qui décrit directement les entités d’une classe et admet un domaine de valeurs possibles. Une valeur calculée résulte au contraire d’un traitement appliqué à d’autres données.

6. Dans une classe d’entités, quelle propriété caractérise un identifiant ?

Il permet de reconnaître une seule entité et doit rester renseigné et non modifiable
Il fournit une information descriptive dont la valeur peut varier librement
Il regroupe les données communes sans distinguer les occurrences
Il indique le nombre maximal de liens qu’une entité peut établir

Il permet de reconnaître une seule entité et doit rester renseigné et non modifiable

Explication

Un identifiant distingue une entité de toutes les autres entités du même type et doit rester renseigné et non modifiable. Un attribut ordinaire décrit l’entité, mais ne garantit pas cette identification unique.

7. Quel rôle joue une association dans un modèle Entités/Associations ?

Elle représente un lien entre plusieurs entités et se nomme généralement par un infinitif
Elle indique la structure technique d’une table dans une base
Elle fournit le code unique permettant de reconnaître une entité
Elle rassemble les valeurs possibles d’un attribut dans une classe donnée

Elle représente un lien entre plusieurs entités et se nomme généralement par un infinitif

Explication

Une association modélise le lien entre plusieurs entités et porte généralement un nom exprimé par un verbe à l’infinitif. Elle ne constitue ni un identifiant ni une description technique de table.

8. Que précise une cardinalité lorsqu’on lit une association dans un sens donné ?

Le nom de l’association et la nature du verbe qui la désigne
La méthode technique utilisée pour stocker les occurrences
Le nombre minimal et maximal de participations possibles d’une occurrence
La liste des attributs décrivant chaque entité reliée

Le nombre minimal et maximal de participations possibles d’une occurrence

Explication

La cardinalité indique le nombre minimal et maximal de fois qu’une occurrence peut participer à une association dans un sens de lecture. La valeur minimale renseigne sur le caractère obligatoire ou facultatif, tandis que la valeur maximale indique l’unicité ou la multiplicité.

9. Dans l’association « posséder », quelles cardinalités correspondent au lien entre CLIENT et COMPTE ?

Un client possède un seul compte, et un compte peut avoir plusieurs propriétaires
Un client possède de 0 à n comptes, et un compte a un seul propriétaire
Un client possède de 1 à n comptes, et un compte peut rester sans propriétaire
Un client possède plusieurs comptes, et chaque compte a de 0 à n propriétaires

Un client possède de 0 à n comptes, et un compte a un seul propriétaire

Explication

L’exemple précise qu’un client peut posséder de zéro à plusieurs comptes, alors qu’un compte possède obligatoirement un et un seul propriétaire. La proposition décrivant plusieurs propriétaires pour un compte inverse donc la règle de l’association.

10. Dans quel cas une association est-elle considérée comme une dépendance fonctionnelle ?

Lorsqu’elle relie deux classes différentes avec une cardinalité 0,n
Lorsqu’elle relie trois entités et comporte une clé étrangère
Lorsqu’elle possède une cardinalité n,n et plusieurs attributs propres
Lorsqu’elle possède une cardinalité 1,1 et aucun attribut propre

Lorsqu’elle possède une cardinalité 1,1 et aucun attribut propre

Explication

Une association de cardinalité 1,1 est une dépendance fonctionnelle et ne porte alors pas d’attribut propre. Une association n,n peut, au contraire, nécessiter une relation distincte et porter des attributs.

11. Quelle situation décrit une association réflexive ?

Une relation entre deux entités de classes différentes
Une relation entre trois entités de classes distinctes
Une relation entre une entité et une clé étrangère
Une relation entre deux entités de la même classe

Une relation entre deux entités de la même classe

Explication

Une association réflexive relie deux entités appartenant à la même classe d’entités, comme un employé qui encadre un autre employé. Une association entre deux classes différentes n’est pas réflexive.

12. Comment le modèle relationnel organise-t-il les données d’une base ?

Sous forme d’associations décrites par des attributs multivalués
Sous forme de fichiers indépendants sans structure tabulaire
Sous forme de relations correspondant à des tables et à leurs colonnes
Sous forme d’entités graphiques reliées par des cardinalités

Sous forme de relations correspondant à des tables et à leurs colonnes

Explication

Le modèle relationnel représente les données par des relations, généralement mises en œuvre sous forme de tables composées de colonnes. Les entités et les cardinalités appartiennent plutôt à la modélisation conceptuelle.

13. Quel est le rôle d’une clé étrangère dans une relation ?

Remplacer la clé primaire dans toutes les relations
Décrire un attribut répétitif à l’intérieur d’une même ligne
Référencer la clé primaire d’une autre relation
Identifier plusieurs lignes sans lien avec une autre relation

Référencer la clé primaire d’une autre relation

Explication

Une clé étrangère est un attribut qui fait référence à la clé primaire d’une autre relation et permet ainsi d’établir un lien entre les tables. Elle ne remplace pas nécessairement la clé primaire de la relation qui la contient.

14. Quelle séquence décrit correctement le passage du MCD au MLD ?

Créer les relations des entités, ajouter les clés étrangères adaptées, puis créer les relations des autres associations
Transformer toutes les associations en clés primaires, puis conserver les entités comme attributs
Créer les clés étrangères, supprimer les entités, puis regrouper toutes les associations dans une table
Créer une relation par attribut, puis relier les tables selon leurs noms et leurs cardinalités

Créer les relations des entités, ajouter les clés étrangères adaptées, puis créer les relations des autres associations

Explication

Le passage au MLD commence par la transformation des entités en relations avec leur identifiant comme clé primaire, puis traite les associations 1,1 ou 0,1 par des clés étrangères et les autres par de nouvelles relations. Les associations ne deviennent donc pas toutes des clés primaires.

15. Que signifie la dépendance fonctionnelle A→BA \to B ?

Une valeur de A détermine une seule valeur de B
A et B doivent nécessairement appartenir à deux relations distinctes
Une valeur de B détermine une seule valeur de A
A et B doivent toujours posséder des valeurs identiques

Une valeur de A détermine une seule valeur de B

Explication

La notation A→BA \to B signifie qu’une valeur de A ne peut être associée qu’à une seule valeur de B. Elle n’implique pas que B détermine A, car plusieurs valeurs de A peuvent correspondre à une même valeur de B.

16. Quelle condition caractérise une relation en première forme normale ?

Toutes ses associations sont remplacées par des clés étrangères
Ses attributs sont atomiques et aucune structure répétitive n’est présente
Ses attributs hors clé ne dépendent d’aucun ensemble non clé
Ses attributs hors clé dépendent de la clé primaire complète

Ses attributs sont atomiques et aucune structure répétitive n’est présente

Explication

La première forme normale exige des attributs élémentaires ou atomiques et l’absence de structures répétitives. La dépendance des attributs hors clé à la clé primaire relève plutôt de la deuxième forme normale.

17. Une relation en 1NF possède une clé primaire composée, mais un attribut hors clé dépend d’une seule partie de cette clé. Quelle forme normale n’est-elle pas respectée ?

La forme relationnelle de base
La deuxième forme normale
La troisième forme normale
La première forme normale

La deuxième forme normale

Explication

La deuxième forme normale exige que tout attribut hors clé dépende fonctionnellement de l’ensemble de la clé primaire. Une dépendance envers une seule partie d’une clé composée constitue une dépendance partielle, incompatible avec la 2NF.

18. Quelle condition supplémentaire une relation en 3NF doit-elle respecter par rapport à la 2NF ?

Tous les attributs doivent être regroupés dans une clé primaire unique
Chaque attribut doit dépendre d’une seule partie de la clé primaire
Aucun attribut hors clé ne dépend d’un ensemble d’attributs non clé
Aucune clé étrangère ne doit apparaître dans les relations normalisées

Aucun attribut hors clé ne dépend d’un ensemble d’attributs non clé

Explication

La troisième forme normale exige la 2NF et interdit qu’un attribut hors clé dépende fonctionnellement d’un ensemble d’attributs non clé, ce qui évite une dépendance transitive. La dépendance à une partie de la clé correspond plutôt au problème traité par la 2NF.

19. Quel langage normalisé permet d’exploiter une base de données relationnelle comme PostgreSQL ?

Python
CSS
SQL
HTML

SQL

Explication

SQL est le langage normalisé utilisé pour exploiter des bases de données relationnelles, notamment avec PostgreSQL. HTML décrit des pages web, tandis que Python et CSS ont d’autres fonctions principales.

20. Quelle contrainte garantit qu’une colonne identifie chaque ligne par une valeur renseignée et unique ?

DEFAULT
FOREIGN KEY
PRIMARY KEY
CHECK

PRIMARY KEY

Explication

PRIMARY KEY impose une valeur unique et non nulle pour chaque ligne d’une table. Une contrainte CHECK vérifie une condition, tandis que DEFAULT fournit une valeur par défaut.

21. Lorsqu’une colonne est définie avec REFERENCES, quelle règle s’applique aux valeurs insérées ?

Elles doivent exister dans une clé référencée PRIMARY KEY ou UNIQUE
Elles sont automatiquement remplacées par une valeur par défaut
Elles doivent être différentes de toutes les valeurs de la table
Elles doivent respecter une condition définie par CHECK

Elles doivent exister dans une clé référencée PRIMARY KEY ou UNIQUE

Explication

REFERENCES impose qu’une valeur de clé étrangère corresponde à une valeur existante dans une colonne PRIMARY KEY ou UNIQUE. La contrainte UNIQUE concerne l’unicité, tandis que CHECK évalue une condition logique.

22. Que se passe-t-il lors d’une insertion si une colonne possède DEFAULT mais n’est pas renseignée ?

L’insertion est rejetée comme avec NOT NULL
La colonne est supprimée de la nouvelle ligne
La valeur définie par DEFAULT est utilisée
La colonne reçoit automatiquement une chaîne vide

La valeur définie par DEFAULT est utilisée

Explication

DEFAULT fournit une valeur de remplacement lorsqu’aucune valeur n’est donnée pour la colonne. NOT NULL, en revanche, interdit l’absence de valeur et peut provoquer le rejet de l’insertion.

23. Quelle différence caractérise UNIQUE par rapport à PRIMARY KEY concernant les valeurs NULL ?

PRIMARY KEY accepte plusieurs lignes contenant NULL
UNIQUE transforme chaque NULL en valeur distincte
PRIMARY KEY remplace les NULL par des valeurs par défaut
UNIQUE peut accepter plusieurs lignes contenant NULL

UNIQUE peut accepter plusieurs lignes contenant NULL

Explication

UNIQUE impose l’unicité des valeurs renseignées, mais autorise plusieurs lignes à contenir NULL. PRIMARY KEY exige une valeur renseignée et unique pour chaque ligne.

24. Quel est le rôle d’une contrainte CHECK dans une table SQL ?

Vérifier qu’une condition logique est respectée
Garantir qu’une valeur existe dans une autre table
Fournir une valeur lorsque l’utilisateur omet une colonne
Trier les lignes selon une expression

Vérifier qu’une condition logique est respectée

Explication

CHECK vérifie qu’une colonne ou un ensemble de colonnes respecte une condition logique. DEFAULT complète une valeur absente, REFERENCES contrôle une correspondance et ORDER BY trie les résultats.

25. Quelle affirmation décrit correctement une comparaison directe avec NULL en SQL ?

Une expression comme colonne = NULL équivaut à une chaîne vide
Une expression comme colonne = NULL devient vraie pour chaque ligne vide
Une expression comme colonne = NULL ne produit ni vrai ni faux
Une expression comme colonne = NULL recherche la valeur zéro

Une expression comme colonne = NULL ne produit ni vrai ni faux

Explication

NULL représente une absence de valeur et ne se compare pas directement comme une valeur ordinaire : colonne = NULL n’est ni vrai ni faux. NULL est distinct d’une chaîne vide et de zéro, et sa recherche nécessite IS NULL.

26. Dans une requête SQL, quelle clause filtre les lignes avant que les résultats puissent être triés ?

WHERE
ORDER BY
DISTINCT
FROM

WHERE

Explication

WHERE sélectionne les lignes qui satisfont une condition, puis ORDER BY peut trier les résultats retenus. DISTINCT élimine les doublons et FROM indique la table interrogée.

27. Quelle clause faut-il ajouter à une sélection pour supprimer les doublons dans les lignes renvoyées ?

WHERE
ORDER BY
ALL
DISTINCT

DISTINCT

Explication

DISTINCT élimine les doublons parmi les lignes sélectionnées. ALL conserve les doublons, tandis que WHERE filtre les lignes et ORDER BY organise leur affichage.

28. Quelle clause permet de sélectionner les lignes qui satisfont une condition avec des comparaisons, IN ou IS NULL ?

ORDER BY
DISTINCT
FROM
WHERE

WHERE

Explication

WHERE filtre les lignes en appliquant une condition, qui peut utiliser des opérateurs logiques, des comparaisons, IN ou IS NULL. ORDER BY agit sur le tri des résultats et DISTINCT sur leurs doublons.

29. Quel est l’ordre de tri appliqué par défaut par ORDER BY lorsqu’aucune direction n’est précisée ?

L’ordre croissant
L’ordre aléatoire
L’ordre d’insertion
L’ordre décroissant

L’ordre croissant

Explication

ORDER BY trie par défaut les résultats dans l’ordre croissant, et l’option DESC permet de demander l’ordre décroissant. L’ordre d’insertion et un ordre aléatoire ne correspondent pas au comportement défini.

30. Quelle fonction SQL permet de convertir une chaîne en majuscules ?

upper
initcap
char_length
lower

upper

Explication

La fonction upper transforme les lettres d’une chaîne en majuscules. La fonction lower produit l’effet inverse, tandis qu'initcap met généralement en majuscule la première lettre de chaque mot.

31. Quelle fonction SQL renvoie la partie entière immédiatement supérieure d’une valeur numérique ?

ceil
trunc
round
floor

ceil

Explication

La fonction ceil renvoie le plus petit entier supérieur ou égal à la valeur fournie. À l’inverse, floor descend vers l’entier inférieur et trunc supprime la partie décimale sans arrondir.

32. Que produit le produit cartésien de deux tables ?

Une ligne par correspondance entre leurs clés
Les lignes présentes dans les deux tables
Toutes les combinaisons possibles de leurs lignes
Les lignes de la première table sans correspondance

Toutes les combinaisons possibles de leurs lignes

Explication

Le produit cartésien associe chaque ligne d’une table à chaque ligne de l’autre table, ce qui forme toutes les combinaisons possibles. Une association fondée sur une condition de correspondance relève plutôt d’une jointure.

33. Dans une requête SQL, quel rôle joue généralement la clause JOIN ... ON ?

Elle définit la correspondance entre les tables jointes
Elle limite le nombre de lignes retournées
Elle filtre les groupes après une agrégation
Elle trie les lignes selon une colonne

Elle définit la correspondance entre les tables jointes

Explication

La clause JOIN ... ON exprime la condition qui relie les lignes de plusieurs tables. Une condition locale supplémentaire peut être placée dans WHERE, mais cette clause ne définit pas en elle-même la correspondance entre les tables.

34. Quelle affirmation distingue correctement une sous-requête scalaire d’une sous-requête utilisée avec IN, ALL ou ANY ?

La sous-requête scalaire regroupe les lignes, tandis qu'IN, ALL ou ANY effectuent une jointure
La sous-requête scalaire compte les lignes, tandis qu'IN, ALL ou ANY convertissent les types
La sous-requête scalaire fournit une ligne, tandis qu'IN, ALL ou ANY peuvent traiter plusieurs lignes
La sous-requête scalaire trie les résultats, tandis qu'IN, ALL ou ANY suppriment les valeurs NULL

La sous-requête scalaire fournit une ligne, tandis qu'IN, ALL ou ANY peuvent traiter plusieurs lignes

Explication

Une sous-requête scalaire est conçue pour fournir une seule ligne, souvent une seule valeur, alors qu'IN, ALL et ANY permettent de comparer avec un ensemble de résultats. Les autres propositions attribuent à ces constructions des rôles qui relèvent d’autres opérations SQL.

35. Quelle différence existe entre COUNT(colonne) et COUNT(*) lorsqu’une ligne contient une valeur NULL dans cette colonne ?

Les deux fonctions ignorent la ligne lorsque la colonne vaut NULL
COUNT(colonne) compte cette valeur, tandis que COUNT(*) ignore la ligne
Les deux fonctions comptent la ligne deux fois lorsqu’une colonne vaut NULL
COUNT(colonne) ignore cette valeur, tandis que COUNT(*) compte la ligne

COUNT(colonne) ignore cette valeur, tandis que COUNT(*) compte la ligne

Explication

COUNT(colonne) ne compte pas les valeurs NULL, alors que COUNT(*) compte toutes les lignes sélectionnées, y compris celles qui contiennent des valeurs NULL. Cette distinction est importante lorsque l’on mesure le nombre de valeurs renseignées plutôt que le nombre de lignes.

36. À quoi sert la clause GROUP BY dans une requête SQL ?

À relier les lignes provenant de plusieurs tables
À regrouper les lignes pour calculer une agrégation par groupe
À convertir les valeurs d’une colonne en texte
À filtrer les lignes avant toute sélection de colonne

À regrouper les lignes pour calculer une agrégation par groupe

Explication

GROUP BY rassemble les lignes qui partagent un même critère afin de produire un résultat d’agrégation pour chaque groupe. Le filtrage préalable relève de WHERE, tandis que la mise en relation des tables relève des jointures.

37. Quelle clause permet de conserver les groupes répondant à une condition portant sur une agrégation ?

HAVING
WHERE
GROUP BY
ORDER BY

HAVING

Explication

HAVING filtre les groupes après le calcul des agrégations, par exemple selon une somme ou un nombre de lignes. WHERE intervient avant l’agrégation et filtre les lignes individuelles plutôt que les groupes constitués.

Révisez avec les flashcards

Mémorisez les réponses avec 63 flashcards sur Introduction aux bases de données.

Qu'impose la méthode MERISE pour analyser une organisation ?

Elle analyse les besoins à partir d'un cahier des charges.

Que définit la méthode MERISE après analyse des besoins ?

La structure des données et des traitements.

Quels sont les trois niveaux d'analyse distingués par MERISE ?

Conceptuel, logique et physique.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Introduction aux bases de données.

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