Numérique · Compétences informatiques
Base de données
Une base de données est un ensemble organisé d’informations, stocké électroniquement et géré par un logiciel (SGBD) qui permet de les enregistrer, de les rechercher, de les modifier et de les protéger.
Mis à jour le 4 min de lecture
Derrière presque toute application se trouve une base de données : les comptes d’un réseau social, le catalogue d’un site marchand, les dossiers d’une mutuelle, les réservations d’une compagnie aérienne. Elle garantit que les données sont cohérentes, partagées entre utilisateurs, protégées et rapidement retrouvables, même lorsqu’elles se comptent en milliards.
Il ne faut pas la confondre avec une base de connaissance, qui stocke des articles rédigés pour des humains.
La base de données relationnelle
Proposé par Edgar F. Codd, chercheur chez IBM, en 1970, le modèle relationnel domine depuis les années 1980. Les données sont rangées dans des tables :
- chaque table décrit un type d’objet (Clients, Commandes, Produits) ;
- chaque ligne (enregistrement) est un objet ;
- chaque colonne (attribut) est une caractéristique ;
- une clé primaire identifie chaque ligne de façon unique ;
- une clé étrangère relie une table à une autre.
Le langage SQL
SQL (Structured Query Language), créé chez IBM dans les années 1970 et normalisé depuis 1986, est le langage standard pour interroger une base relationnelle. Quelques instructions couvrent l’essentiel :
| Instruction | Rôle | Exemple |
|---|---|---|
| SELECT | Lire des données | SELECT nom, ville FROM Clients WHERE ville = 'Lyon'; |
| INSERT | Ajouter | INSERT INTO Clients (nom, ville) VALUES ('Martin', 'Lille'); |
| UPDATE | Modifier | UPDATE Clients SET ville = 'Lyon' WHERE id_client = 12; |
| DELETE | Supprimer | DELETE FROM Commandes WHERE id_commande = 305; |
| JOIN | Croiser des tables | SELECT c.nom, o.montant FROM Clients c JOIN Commandes o ON c.id_client = o.id_client; |
| GROUP BY | Regrouper et agréger | SELECT ville, COUNT(*) FROM Clients GROUP BY ville; |
SQL est déclaratif : on décrit le résultat voulu, le SGBD choisit lui-même la meilleure façon de l’obtenir. Voir langages de programmation.
Les propriétés ACID
Les bases relationnelles garantissent que les transactions (ensembles d’opérations, comme un virement qui débite un compte et en crédite un autre) respectent quatre propriétés :
| Propriété | Signification |
|---|---|
| Atomicité | Tout ou rien : le virement est entièrement fait ou pas du tout |
| Cohérence | Les règles de la base sont toujours respectées |
| Isolation | Les transactions simultanées ne se perturbent pas |
| Durabilité | Une transaction validée survit à une panne |
Les bases NoSQL
À partir des années 2000, les géants du Web ont eu besoin de stocker d’énormes volumes de données variées, réparties sur des milliers de serveurs. Sont apparues les bases NoSQL (not only SQL), qui renoncent au modèle en tables :
| Type | Principe | Usage typique | Exemples |
|---|---|---|---|
| Clé-valeur | Une clé donne accès à une valeur | Cache, sessions | Redis |
| Documents | Données stockées en documents JSON de structure libre | Catalogues, contenus | MongoDB, Couchbase |
| Colonnes larges | Tables très larges et réparties | Séries temporelles, très gros volumes | Apache Cassandra |
| Graphes | Nœuds et relations | Réseaux sociaux, fraude, recommandations | Neo4j |
| Vectorielles | Vecteurs numériques comparés par similarité | Recherche sémantique, IA (RAG) | pgvector, Milvus, Qdrant |
Les bases de graphes servent notamment à construire des graphes de connaissances ; les bases vectorielles sont au cœur des assistants d’IA connectés à des documents.
SQL ou NoSQL : que choisir ?
| Critère | Relationnel (SQL) | NoSQL |
|---|---|---|
| Structure des données | Fixe, bien définie | Variable ou évolutive |
| Relations entre données | Nombreuses, essentielles | Simples, ou spécifiques (graphes) |
| Cohérence | Forte (ACID) | Souvent relâchée au profit de la disponibilité |
| Montée en charge | Surtout verticale (serveur plus puissant) | Horizontale (plus de serveurs) |
| Exemples d’usage | Comptabilité, commandes, banques | Contenus, journaux d’événements, temps réel |
En pratique, beaucoup d’applications combinent plusieurs bases, et les SGBD relationnels modernes (comme PostgreSQL) gèrent aussi des documents JSON et des vecteurs.
Les SGBD les plus utilisés
- Libres : PostgreSQL, MySQL, MariaDB, SQLite (embarqué dans les téléphones et navigateurs), MongoDB (licence spécifique), Redis.
- Propriétaires : Oracle Database, Microsoft SQL Server, IBM Db2.
- Services cloud : bases gérées par les fournisseurs d’informatique en nuage.
- Bureautique : Microsoft Access et LibreOffice Base, pour de petites bases sans serveur.
Base de données et données personnelles
Une base contenant des données sur des personnes (clients, salariés, patients) est soumise au RGPD : finalité définie, données limitées au nécessaire, durée de conservation, sécurité (droits d’accès, chiffrement, sauvegardes) et respect des droits des personnes.
Questions fréquentes
Un tableur Excel est-il une base de données ?
Pas vraiment. Un tableur peut stocker une liste, mais il ne garantit ni l’unicité des enregistrements, ni les relations entre tables, ni l’accès simultané sécurisé de nombreux utilisateurs. Au-delà de quelques milliers de lignes partagées, une vraie base devient préférable.
Quelle différence entre base de données et SGBD ?
La base de données est le contenu organisé ; le SGBD est le logiciel qui la gère. On dit couramment « une base PostgreSQL » pour « une base gérée par PostgreSQL ».
Faut-il savoir programmer pour utiliser SQL ?
Non. Les requêtes de base (SELECT, WHERE, JOIN, GROUP BY) s’apprennent en quelques jours et sont très demandées dans les métiers de l’analyse, de la gestion et du marketing.
Qu’est-ce qu’une base de données vectorielle ?
Une base qui stocke des textes, images ou sons sous forme de vecteurs numériques (plongements) et retrouve les éléments les plus proches par le sens. Elle sert à la recherche sémantique et aux assistants d’IA.