Questions et exercices basés sur le document de cours en Base de Données
1. QCM (Questions à Choix Multiples)
Généralités sur les Bases de Données :
Qu'est-ce qu'une base de données ?
a) Un programme informatique
b) Un ensemble structuré de données
c) Un type de matériel informatique
d) Un langage de programmation
L'évolution des bases de données est due à :
a) L’évolution des entreprises
b) L’évolution du matériel
c) L’évolution des logiciels
d) Toutes les réponses ci-dessus
Quelle est la principale différence entre un SGBD et un SGF ?
a) Un SGF gère les bases de données alors qu’un SGBD gère les fichiers
b) Un SGBD permet de structurer et manipuler les données plus efficacement
c) Un SGF est plus avancé qu’un SGBD
d) Un SGF utilise SQL
Modèles de Données :
Quel modèle utilise une structure arborescente ?
a) Modèle relationnel
b) Modèle réseau
c) Modèle hiérarchique
d) Modèle objet
Quel modèle de base de données est le plus utilisé actuellement ?
a) Modèle relationnel
b) Modèle hiérarchique
c) Modèle réseau
d) Modèle orienté objet
Dans le modèle relationnel, une relation est représentée sous forme de :
a) Graphe
b) Table
c) Arbre
d) Pointeurs
Normalisation :
Une relation est en 1NF si :
a) Elle n’a aucune redondance
b) Elle ne contient que des attributs atomiques
c) Elle est dépourvue de dépendances fonctionnelles partielles
d) Elle respecte les contraintes d’intégrité référentielles
Une relation est en 2NF si :
a) Elle est en 1NF et n’a pas de dépendances fonctionnelles partielles
b) Elle est en 1NF et n’a pas de dépendances transitives
c) Elle est en 3NF
d) Elle est déjà en BCNF
Une relation en BCNF est :
a) Plus normalisée que la 3NF
b) Moins normalisée que la 3NF
c) Équivalente à la 2NF
d) Une forme non normalisée
2. Définitions à compléter :
Un SGBD est ___________________________________________________
La clé primaire d’une relation est ___________________________________
Une dépendance fonctionnelle est définie comme _______________________
L’intégrité référentielle garantit que ___________________________________
Une relation dans une base de données relationnelle est ________________
La cardinalité d’une association indique _______________________________
3. Exercices pratiques :
Exercice 1 : Identification des clés et dépendances fonctionnelles
On considère la relation suivante :
scss
Copier le code
Facture(num-facture, date-facture, num-client, nom-client, adresse-client, num-produit, désignation-
produit, prix-produit, quantité-achetée)
Sachant que :
Un client est identifié par num-client et a un nom et une adresse.
Un produit est identifié par num-produit et a une désignation et un prix.
Une facture peut contenir plusieurs produits.
Questions :
Identifier la clé primaire de la relation.
Identifier les dépendances fonctionnelles présentes.
La relation est-elle en 1NF ? Justifier.
La relation est-elle en 2NF ? Justifier et, si nécessaire, proposer une décomposition en 2NF.
La relation est-elle en 3NF ? Justifier et, si nécessaire, proposer une décomposition en 3NF.
Exercice 2 : Modélisation Entité-Association
On veut modéliser un système de gestion de bibliothèque. Un adhérent peut emprunter plusieurs livres,
mais un livre ne peut être emprunté que par un seul adhérent à un moment donné.
Questions :
Définir les entités principales du système.
Définir les attributs des entités.
Déterminer les associations et leurs cardinalités.
Dessiner un schéma Entité-Association (EA) représentant cette situation.
Exercice 3 : Mise en forme normale
On considère la relation suivante :
scss
Copier le code
Commande(num-commande, date-commande, num-client, nom-client, adresse-client, num-produit,
désignation-produit, quantité-commandée, prix-unitaire)
Questions :
Identifier les dépendances fonctionnelles.
En quelle forme normale est cette relation ?
La mettre en 3NF.
4. Questions ouvertes :
Expliquez les différences entre un SGF et un SGBD.
Quels sont les principaux objectifs d’un SGBD ?
Pourquoi est-il important d’éviter la redondance des données dans une base ?
Quels sont les avantages du modèle relationnel ?
Décrivez les niveaux d’architecture d’un SGBD selon le modèle ANSI/SPARC.
Expliquez ce qu’est une contrainte d’intégrité et donnez trois exemples.
Pourquoi la normalisation est-elle essentielle dans une base de données relationnelle ?
⭕⭕⭕Réponse................
QCM (Questions à Choix Multiples)
Généralités sur les Bases de Données
Qu'est-ce qu'une base de données ?
✅ b) Un ensemble structuré de données
L'évolution des bases de données est due à :
✅ d) Toutes les réponses ci-dessus
Quelle est la principale différence entre un SGBD et un SGF ?
✅ b) Un SGBD permet de structurer et manipuler les données plus efficacement
Modèles de Données
Quel modèle utilise une structure arborescente ?
✅ c) Modèle hiérarchique
Quel modèle de base de données est le plus utilisé actuellement ?
✅ a) Modèle relationnel
Dans le modèle relationnel, une relation est représentée sous forme de :
✅ b) Table
Normalisation
Une relation est en 1NF si :
✅ b) Elle ne contient que des attributs atomiques
Une relation est en 2NF si :
✅ a) Elle est en 1NF et na pas de dépendances fonctionnelles partielles
Une relation en BCNF est :
✅ a) Plus normalisée que la 3NF
2. Définitions à compléter
Un SGBD est un logiciel permettant de créer, gérer et manipuler une base de données de
manière efficace et sécurisée.
La clé primaire dune relation est un ou plusieurs attributs permettant didentifier de manière
unique chaque enregistrement dans une table.
Une dépendance fonctionnelle est définie comme une relation entre deux ensembles dattributs,
où une valeur dun attribut (ou groupe dattributs) détermine de manière unique une autre valeur.
Lintégrité référentielle garantit que toute valeur dune clé étrangère dans une table fait toujours
référence à une clé primaire existante dans une autre table.
Une relation dans une base de données relationnelle est une table composée dattributs
(colonnes) et de tuples (lignes).
La cardinalité dune association indique le nombre doccurrences dune entité qui peuvent être
associées à une autre entité.
3. Exercices pratiques
Exercice 1 : Identification des clés et dépendances fonctionnelles
Relation :
Facture(num-facture, date-facture, num-client, nom-client, adresse-client, num-produit,
désignation-produit, prix-produit, quantité-achetée)
Dépendances fonctionnelles :
num-client → nom-client, adresse-client
num-produit → désignation-produit, prix-produit
num-facture, num-produit → quantité-achetée
Clé primaire : (num-facture, num-produit)
1NF ? ✅ Oui, car tous les attributs sont atomiques.
2NF ? ❌ Non, car il existe des dépendances fonctionnelles partielles :
num-client → nom-client, adresse-client
num-produit → désignation-produit, prix-produit
Décomposition en 2NF :
Client(num-client, nom-client, adresse-client)
Produit(num-produit, désignation-produit, prix-produit)
Facture(num-facture, date-facture, num-client)
Détail_Facture(num-facture, num-produit, quantité-achetée)
3NF ? ✅ Oui après la décomposition.
Exercice 2 : Modélisation Entité-Association
Entités principales :
Adhérent (num-adhérent, nom, prénom, adresse, téléphone)
Livre (num-livre, titre, auteur, année, genre)
Association :
Emprunter (num-adhérent, num-livre, date-emprunt, date-retour)
Cardinalité :
Un adhérent peut emprunter plusieurs livres (1,N).
Un livre ne peut être emprunté que par un seul adhérent à un moment donné (1,1).
📌 Schéma EA à dessiner avec les entités Adhérent, Livre, et l'association Emprunter.
Exercice 3 : Mise en forme normale
Relation :
Commande(num-commande, date-commande, num-client, nom-client, adresse-client, num-
produit, désignation-produit, quantité-commandée, prix-unitaire)
Dépendances fonctionnelles :
num-client → nom-client, adresse-client
num-produit → désignation-produit, prix-unitaire
num-commande, num-produit → quantité-commandée
Forme normale actuelle :
✅ 1NF : Oui, toutes les valeurs sont atomiques.
❌ 2NF : Non, car nom-client, adresse-client dépendent partiellement de num-client, et
désignation-produit, prix-unitaire dépendent de num-produit.
Décomposition en 3NF :
Client(num-client, nom-client, adresse-client)
Produit(num-produit, désignation-produit, prix-unitaire)
Commande(num-commande, date-commande, num-client)
Détail_Commande(num-commande, num-produit, quantité-commandée)
4. Questions ouvertes
Différences entre un SGF et un SGBD
Un SGF (Système de Gestion de Fichiers) gère des fichiers de manière basique, sans structure
avancée.
Un SGBD (Système de Gestion de Bases de Données) permet de structurer, stocker et
manipuler des données avec plus defficacité et de sécurité.
Objectifs dun SGBD :
Stocker et organiser les données
Assurer la cohérence et lintégrité des données
Permettre un accès concurrentiel
Sécuriser les données
Importance déviter la redondance des données :
Évite les incohérences
Réduit lespace de stockage
Améliore la performance des requêtes
Avantages du modèle relationnel :
Simplicité et flexibilité
Utilisation de SQL
Intégrité et cohérence des données
Niveaux darchitecture selon ANSI/SPARC :
Niveau interne : stockage physique des données
Niveau conceptuel : structure logique de la base
Niveau externe : vue utilisateur
Exemples de contraintes dintégrité :
Clé primaire : empêche les doublons
Clé étrangère : assure lintégrité référentielle
Contraintes dunicité : empêche les valeurs dupliquées
Pourquoi normaliser une base de données ?
Évite la redondance
Assure la cohérence
Améliore la flexibilité et la performance