100 Questions-Réponses sur les Bases de Données
Voici une liste de 100 questions avec leurs réponses portant sur les bases de données
informatiques, classées par thèmes pour faciliter l'apprentissage :
🧠 1. Concepts de base
1. Qu'est-ce qu'une base de données ?
Une base de données est un ensemble organisé d'informations stockées électroniquement
et accessibles de manière structurée.
2. Qu'est-ce qu'un SGBD ?
Un Système de Gestion de Base de Données (SGBD) est un logiciel permettant de créer,
manipuler et gérer des bases de données.
3. Citez trois exemples de SGBD.
MySQL, Oracle, Microsoft SQL Server.
4. Quelle est la différence entre une base de données relationnelle et non relationnelle ?
Une base relationnelle organise les données sous forme de tables liées entre elles ; une
base non relationnelle stocke les données sous forme de documents, graphes, colonnes ou
paires clé-valeur.
5. Qu’est-ce qu’une table ?
C’est une structure dans une base relationnelle qui stocke les données sous forme de
lignes et colonnes.
6. Qu’est-ce qu’un champ ?
C’est une colonne dans une table qui représente un attribut.
7. Qu’est-ce qu’un enregistrement ?
C’est une ligne dans une table représentant une instance de données.
8. Que signifie le terme “relation” ?
Une relation est une table ou un lien entre des tables.
9. À quoi sert une clé primaire ?
Elle identifie de façon unique chaque enregistrement dans une table.
10. Qu’est-ce qu’une clé étrangère ?
C’est un champ qui fait référence à une clé primaire dans une autre table.
💻 2. SQL – Langage de requête structuré
11. Que signifie SQL ?
Structured Query Language.
12. À quoi sert SQL ?
À interroger, modifier et gérer les données dans une base de données relationnelle.
13. Que fait la commande SELECT ?
Elle permet de lire des données dans une base de données.
14. Quel est le rôle de la commande INSERT ?
Elle ajoute un nouvel enregistrement dans une table.
15. Quel est le rôle de UPDATE ?
Elle modifie les données existantes dans une table.
16. Quel est le rôle de DELETE ?
Elle supprime des données dans une table.
17. Que fait CREATE TABLE ?
Elle permet de créer une nouvelle table.
18. Que fait DROP TABLE ?
Elle supprime une table existante.
19. Quelle clause est utilisée pour filtrer les résultats ?
WHERE.
20. Comment trier les résultats d’une requête ?
Avec la clause ORDER BY.
📋 3. Types de données
21. Quels sont les types de données courants en SQL ?
INT, VARCHAR, DATE, BOOLEAN, FLOAT.
22. Quelle est la différence entre VARCHAR et CHAR ?
VARCHAR est de longueur variable, CHAR est de longueur fixe.
23. À quoi sert le type DATE ?
À stocker des dates.
24. Quelle est la différence entre INT et FLOAT ?
INT stocke des entiers, FLOAT des nombres à virgule.
25. Comment stocker une valeur booléenne ?
Avec le type BOOLEAN ou un INT (0 ou 1).
🔗 4. Relations et intégrité référentielle
26. Quels sont les types de relations entre tables ?
Un-à-un, un-à-plusieurs, plusieurs-à-plusieurs.
27. Que signifie “intégrité référentielle” ?
C’est une règle qui garantit que les relations entre les tables sont cohérentes.
28. Comment assurer l’intégrité référentielle ?
Par l’utilisation de clés étrangères.
29. Que se passe-t-il si une clé étrangère est violée ?
Le SGBD empêche l'opération (INSERT ou DELETE).
30. Comment modéliser une relation plusieurs-à-plusieurs ?
En utilisant une table d’association.
⚙️ 5. Fonctions et requêtes avancées
31. Que fait la fonction COUNT() ?
Elle compte le nombre d’enregistrements.
32. Que fait SUM() ?
Elle calcule la somme des valeurs d'une colonne.
33. Quelle est la différence entre GROUP BY et ORDER BY ?
GROUP BY regroupe les résultats ; ORDER BY les trie.
34. À quoi sert HAVING ?
À filtrer les résultats d’un GROUP BY.
35. Comment faire une jointure entre deux tables ?
Avec JOIN.
36. Qu’est-ce qu’une jointure interne (INNER JOIN) ?
Elle retourne les enregistrements ayant des correspondances dans les deux tables.
37. Qu’est-ce qu’une jointure externe (LEFT JOIN) ?
Elle retourne tous les enregistrements de la table de gauche, même sans correspondance.
38. À quoi sert DISTINCT ?
À supprimer les doublons dans les résultats.
39. Comment limiter le nombre de résultats ?
Avec LIMIT ou TOP.
40. Comment rechercher une valeur partielle ?
Avec LIKE et les caractères % ou _.
🧠 6. Conception et normalisation
41. Qu’est-ce que la normalisation ?
C’est un processus visant à réduire la redondance des données.
42. Quelle est la première forme normale (1NF) ?
Toutes les valeurs doivent être atomiques.
43. Qu’est-ce que la deuxième forme normale (2NF) ?
Toutes les colonnes doivent dépendre de la clé primaire.
44. Qu’est-ce que la troisième forme normale (3NF) ?
Élimination des dépendances transitives.
45. Pourquoi dénormaliser une base ?
Pour améliorer les performances de lecture.
🔐 7. Sécurité et gestion
46. Comment protéger une base de données ?
Par les mots de passe, les droits d’accès, et la sauvegarde.
47. Qu’est-ce qu’un utilisateur en base de données ?
Une entité à laquelle sont attribués des privilèges.
48. Que signifie le mot-clé GRANT ?
Il permet d’accorder des privilèges.
49. Que fait la commande REVOKE ?
Elle retire des privilèges.
50. Pourquoi faire des sauvegardes ?
Pour restaurer les données en cas de panne.
🛠️ 8. Administration
51. Qu’est-ce qu’un index ?
Une structure qui accélère la recherche de données.
52. Quels types d’index existe-t-il ?
Index simple, composé, unique.
53. Qu’est-ce qu’un trigger (déclencheur) ?
Une procédure automatique qui s'exécute à un événement.
54. Qu’est-ce qu’une vue (VIEW) ?
Une table virtuelle issue d’une requête.
55. Quel est l’intérêt d’une vue ?
Masquer la complexité ou sécuriser l'accès aux données.
56. Qu’est-ce qu’un curseur ?
Un objet qui permet de traiter ligne par ligne les résultats d'une requête.
57. Que signifie ACID ?
Atomicité, Cohérence, Isolation, Durabilité.
58. Pourquoi les transactions sont-elles importantes ?
Pour garantir la cohérence des données.
59. Que fait la commande COMMIT ?
Elle valide les modifications faites dans une transaction.
60. Que fait la commande ROLLBACK ?
Elle annule les modifications d’une transaction non validée.
☁️ 9. Bases de données modernes et cloud
61. Qu’est-ce que MongoDB ?
Une base NoSQL orientée document.
62. Qu’est-ce que Firebase ?
Une base de données temps réel dans le cloud de Google.
63. Que signifie NoSQL ?
Not Only SQL — un ensemble de bases non relationnelles.
64. Quels sont les types de bases NoSQL ?
Document, clé-valeur, graphes, colonnes.
65. Pourquoi utiliser une base NoSQL ?
Pour sa souplesse, sa scalabilité, et sa performance.
📦 10. Utilisation et bonnes pratiques
66. Quand utiliser une base relationnelle ?
Quand les données sont fortement structurées.
67. Quand utiliser une base NoSQL ?
Quand les données sont semi-structurées ou massives.
68. Pourquoi éviter la redondance ?
Pour éviter les incohérences.
69. Pourquoi documenter une base de données ?
Pour faciliter la maintenance et le travail d’équipe.
70. Comment nommer les objets d’une base ?
De manière claire, cohérente et normalisée.
📈 11. Performance
71. Pourquoi optimiser les requêtes SQL ?
Pour améliorer la vitesse d’exécution.
72. Quel est l’impact d’un index mal utilisé ?
Il peut ralentir les insertions ou prendre trop d’espace.
73. Qu’est-ce qu’un plan d’exécution ?
C’est une représentation de la manière dont le SGBD exécute une requête.
74. Que signifie la mise en cache ?
Stocker temporairement des résultats pour accélérer l’accès.
75. Pourquoi archiver les données anciennes ?
Pour alléger la base active.
🧠 12. Outils et interfaces
76. Qu’est-ce que phpMyAdmin ?
Une interface web pour gérer MySQL.
77. Qu’est-ce que SSMS ?
SQL Server Management Studio pour Microsoft SQL Server.
78. Qu’est-ce que pgAdmin ?
Une interface graphique pour PostgreSQL.
79. Quel outil utiliser pour faire des diagrammes ER ?
DBDesigner, Lucidchart, [Link], etc.
80. Que signifie ORM ?
Object-Relational Mapping : lien entre objets et tables.
📚 13. Évolutions et technologies récentes
81. Qu’est-ce qu’un entrepôt de données ?
Une base destinée à l’analyse décisionnelle.
82. Qu’est-ce qu’une base en mémoire ?
Elle stocke les données dans la RAM pour une grande vitesse.
83. Qu’est-ce que BigQuery ?
Une base cloud conçue pour l’analyse de données massives.
84. Qu’est-ce qu’un schéma étoile ?
Une modélisation utilisée en BI (Business Intelligence).
85. Qu’est-ce que le sharding ?
Une méthode de partitionnement horizontal des données.
🧠 14. Problèmes fréquents
86. Pourquoi une requête peut être lente ?
Mauvaise indexation, jointures mal conçues, grand volume.
87. Que faire en cas de conflit de clé ?
Vérifier les valeurs insérées et l’unicité de la clé primaire.
88. Pourquoi éviter SELECT * ?
Car cela peut charger inutilement toutes les colonnes.
89. Que signifie "verrouillage" dans une base ?
C’est une méthode pour éviter les conflits d’accès concurrent.
90. Comment éviter les injections SQL ?
En utilisant des requêtes paramétrées ou des ORM.
🧠 15. Exemples pratiques
91. Exemple de requête pour afficher tous les patients :
sql
SELECT * FROM Patients;
92. Ajouter un patient :
sql
INSERT INTO Patients (Nom, Prenom) VALUES ('Jean', 'Dupont');
93. Mettre à jour un nom de patient :
sql
UPDATE Patients SET Nom='Durand' WHERE ID=1;
94. Supprimer un patient :
sql
DELETE FROM Patients WHERE ID=1;
95. Lister tous les rendez-vous d’un patient :
sql
SELECT * FROM RendezVous WHERE PatientID=1;
96. Créer une table Médecins :
sql
CREATE TABLE Medecins (ID INT PRIMARY KEY, Nom VARCHAR(50));
97. Lister les patients ayant plus de 30 ans :
sql
SELECT * FROM Patients WHERE Age > 30;
98. Compter les patients inscrits :
sql
SELECT COUNT(*) FROM Patients;
99. Lister les services sans doublons :
sql
SELECT DISTINCT NomService FROM Services;
100. Afficher les patients triés par nom :
Sql
SELECT * FROM Patients ORDER BY Nom ASC;