Aller au contenu
connaissance.org

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 :

InstructionRôleExemple
SELECTLire des donnéesSELECT nom, ville FROM Clients WHERE ville = 'Lyon';
INSERTAjouterINSERT INTO Clients (nom, ville) VALUES ('Martin', 'Lille');
UPDATEModifierUPDATE Clients SET ville = 'Lyon' WHERE id_client = 12;
DELETESupprimerDELETE FROM Commandes WHERE id_commande = 305;
JOINCroiser des tablesSELECT c.nom, o.montant FROM Clients c JOIN Commandes o ON c.id_client = o.id_client;
GROUP BYRegrouper et agrégerSELECT 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érenceLes règles de la base sont toujours respectées
IsolationLes 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 :

TypePrincipeUsage typiqueExemples
Clé-valeurUne clé donne accès à une valeurCache, sessionsRedis
DocumentsDonnées stockées en documents JSON de structure libreCatalogues, contenusMongoDB, Couchbase
Colonnes largesTables très larges et répartiesSéries temporelles, très gros volumesApache Cassandra
GraphesNœuds et relationsRéseaux sociaux, fraude, recommandationsNeo4j
VectoriellesVecteurs 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èreRelationnel (SQL)NoSQL
Structure des donnéesFixe, bien définieVariable ou évolutive
Relations entre donnéesNombreuses, essentiellesSimples, ou spécifiques (graphes)
CohérenceForte (ACID)Souvent relâchée au profit de la disponibilité
Montée en chargeSurtout verticale (serveur plus puissant)Horizontale (plus de serveurs)
Exemples d’usageComptabilité, commandes, banquesContenus, 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.

À lire aussi

Compétences informatiques : toutes les fiches