Pulse B2B Tech
IT

Base de données relationnelle : des tables séparées, des informations qui restent cohérentes

Élise Garcin-Lafargue 9 min de lecture
Base de données relationnelle : tables séparées et cohérentes, clés primaire et étrangère

Publié par : — Rédactrice spécialisée en IT

Une base de données relationnelle organise les informations dans des tables reliées par des clés. Elle permet, par exemple, de retrouver toutes les commandes d’un client sans recopier ses coordonnées à chaque achat. Son fonctionnement repose sur une structure définie, des règles de cohérence et un langage d’interrogation : SQL.

Comprendre le modèle à partir d’un client et de ses commandes

Introduit par Edgar F. Codd en 1970, le modèle relationnel représente les données dans des tableaux à deux dimensions : des lignes et des colonnes. Microsoft Azure rappelle ainsi que ce modèle existe depuis plus de 50 ans. Son intérêt reste très actuel : organiser des informations structurées et les combiner selon les besoins d’une application.

Quiz : comprendre les bases de données relationnelles

Répondez aux six questions, puis validez vos réponses pour découvrir votre score et les corrections.

Progression : 0/6 réponse Score : non calculé
1. Dans une base de données relationnelle, qu’est-ce qu’une table ?
Réponse correcte : un ensemble structuré de données organisées en lignes et en colonnes.Une table constitue une structure fondamentale d’une base relationnelle et regroupe des informations selon des attributs définis.
2. Que représentent respectivement une ligne et une colonne dans une table ?
Réponse correcte : une ligne représente un enregistrement et une colonne représente un attribut.Chaque ligne décrit une occurrence, tandis que chaque colonne définit un type d’information à stocker.
3. Quel est le rôle principal d’une clé primaire ?
Réponse correcte : identifier de manière unique chaque ligne d’une table.La clé primaire garantit qu’un enregistrement peut être distingué des autres dans sa table.
4. À quoi sert une clé étrangère et quel principe contribue-t-elle à protéger ?
Réponse correcte : elle relie des tables et contribue à l’intégrité référentielle.Une clé étrangère fait référence à une clé d’une autre table et empêche notamment les références vers des enregistrements inexistants.
5. Quel énoncé décrit correctement le rôle d’un SGBDR et de SQL ?
Réponse correcte : le SGBDR gère les bases relationnelles et SQL permet de les interroger ou de les modifier.Le système de gestion administre les données et leur accès ; SQL est le langage utilisé pour communiquer avec la base.
6. Quelle affirmation décrit correctement une transaction et les propriétés ACID ?
Réponse correcte : une transaction regroupe des opérations ; ACID vise notamment leur atomicité, cohérence, isolation et durabilité.Ces propriétés permettent de fiabiliser l’exécution des opérations, même en cas d’erreur ou d’accès simultanés.

Dans le vocabulaire théorique, une relation correspond à un ensemble de données généralement représenté par une table. Il faut distinguer ce sens du mot « relation » utilisé couramment pour désigner le lien entre deux tables.

Prenons une boutique : une table Clients contient les coordonnées des acheteurs, tandis qu’une table Commandes enregistre leurs achats. Chaque table décrit un type d’objet métier, plutôt que de rassembler toutes les informations dans un fichier unique.

NotionSignificationExemple
TableEnsemble de données de même natureClients
Ligne ou enregistrementUn élément particulier, aussi appelé nupletLe client identifié par 42
Colonne ou attributUne propriété des élémentsNom, adresse électronique
SchémaDéfinition des tables, attributs, types, clés et liensOrganisation de Clients et Commandes

Le schéma relationnel constitue donc le plan de la base. Il précise notamment si une colonne contient du texte, un nombre ou une date, et quelles règles doivent respecter les enregistrements.

Relier les tables sans répéter toutes les informations

Les clés identifient les lignes et établissent les liens

Une clé primaire identifie chaque ligne de manière unique. Dans Clients, la colonne id_client peut jouer ce rôle : deux clients ne partagent jamais le même identifiant et celui-ci ne peut pas être NULL. Une clé primaire peut aussi réunir plusieurs colonnes.

Schéma d’une base de données relationnelle avec tables Clients et Commandes, clé primaire et clé étrangère
Schéma d’une base de données relationnelle avec tables Clients et Commandes, clé primaire et clé étrangère

Une clé étrangère référence une clé d’une table liée, généralement sa clé primaire. Ainsi, Commandes contient son propre id_commande et un id_client qui désigne l’acheteur. Le nom et l’adresse électronique restent dans Clients : inutile de les recopier dans chaque commande.

TableIdentifiant principalAutres données illustratives
Clientsid_client : 42nom : Martin
Commandesid_commande : 1001id_client : 42 ; montant : 80
Commandesid_commande : 1002id_client : 42 ; montant : 35

Ce schéma représente une relation un-à-plusieurs : un client peut avoir plusieurs commandes. Une relation plusieurs-à-plusieurs, comme celle entre commandes et produits, nécessite habituellement une table intermédiaire, par exemple Lignes_commande, qui porte aussi la quantité achetée.

Les contraintes empêchent les incohérences

La contrainte de clé impose l’unicité de l’identifiant. Les contraintes de domaine encadrent les valeurs : type numérique, montant positif, champ obligatoire ou valeur par défaut. NULL représente une absence de valeur, et non automatiquement zéro ou une chaîne vide.

L’intégrité référentielle empêche une commande de référencer un client inexistant. Lors d’une suppression, le schéma peut prévoir un refus, une suppression en cascade ou une autre action autorisée. Ce choix dépend des règles métier : supprimer automatiquement des commandes historiques serait souvent indésirable.

La normalisation consiste notamment à séparer les informations pour limiter les répétitions et les anomalies de mise à jour. Elle ne signifie pas multiplier les tables sans raison, mais placer chaque information là où elle doit être maintenue.

Interroger avec SQL et fiabiliser les modifications avec le SGBDR

Le SGBDR, système de gestion de base de données relationnelle, est le logiciel qui crée, exploite, sécurise et administre la base. PostgreSQL, MySQL, Oracle Database et Microsoft SQL Server en sont des exemples. La base désigne les données organisées ; le SGBDR fournit le moteur qui les gère.

PostgreSQL : maîtriser les contraintes des tables et colonnes — Découvrez comment définir des contraintes SQL pour garantir l’intégrité et la fiabilité des données dans PostgreSQL.

SQL, pour Structured Query Language, sert à définir les tables, consulter les données, insérer des lignes, les modifier et les supprimer. Ces quatre dernières opérations correspondent au principe CRUD : créer, lire, mettre à jour, supprimer.

Par exemple, la requête SELECT id_commande, montant FROM Commandes WHERE id_client = 42; retrouve les commandes du client 42. Une jointure permet ensuite d’associer ces résultats au nom conservé dans Clients, sans réorganiser les données stockées.

  • La sélection retient les lignes répondant à une condition.
  • La jointure combine les informations de plusieurs tables selon un critère.
  • L’intersection recherche les éléments communs à deux résultats compatibles.

Les transactions regroupent des modifications qui doivent réussir ou échouer ensemble. Pour un transfert, débiter un compte sans créditer l’autre laisserait un état incorrect. Les propriétés ACID — atomicité, cohérence, isolation et durabilité — encadrent ce traitement.

Imaginez deux acheteurs devant le dernier article disponible : l’horloge indique presque la même heure, mais un simple horodatage ne suffit pas à empêcher une double vente. Il faut coordonner la vérification du stock et sa diminution dans une transaction, avec un mécanisme de concurrence adapté. L’ordre logique des opérations compte davantage que leur heure affichée.

Évaluer les avantages et les limites pour son projet

Le modèle relationnel convient particulièrement aux commandes, factures, réservations et applications de gestion. Ces usages associent des données structurées, des liens explicites et des règles de cohérence fortes. SQL facilite aussi les rapports qui croisent plusieurs ensembles d’informations.

La séparation des tables réduit la redondance. Elle apporte également une certaine indépendance entre stockage et applications : on peut ajuster des index sans changer les fonctionnalités. En revanche, modifier une colonne utilisée par une application peut nécessiter une migration et une adaptation du code.

Les performances ne dépendent pas seulement du volume. Des jointures coûteuses, des requêtes mal conçues ou des index absents peuvent ralentir une base. Les index accélèrent certaines recherches, mais occupent de l’espace et ajoutent du travail lors des écritures.

Les bases NoSQL regroupent d’autres modèles, notamment documentaires, clé-valeur ou orientés graphes. Elles peuvent être adaptées à des structures variables ou à des modes d’accès particuliers. Elles ne sont toutefois ni systématiquement plus rapides, ni dépourvues de transactions : les garanties dépendent du moteur choisi.

Choisir un moteur et un hébergement cloud sans confondre les besoins

Une base relationnelle peut fonctionner sur votre infrastructure ou dans un service cloud géré. Google Cloud propose notamment Cloud SQL, Spanner et AlloyDB pour PostgreSQL. Ces offres répondent à des besoins différents : compatibilité avec un moteur, exploitation simplifiée ou architecture distribuée.

Google Cloud mentionne un essai de Spanner de 90 jours avec 10 Go de stockage sans frais. Les conditions commerciales doivent être vérifiées au moment de souscrire ; elles ne remplacent pas une évaluation technique.

Avant de choisir, examinez les requêtes réelles, les accès simultanés, les sauvegardes, la restauration, la disponibilité attendue et les compétences de l’équipe. Un service géré réduit certaines tâches d’administration, mais ne dispense ni de concevoir le schéma ni de gérer les droits d’accès. Le bon point de départ reste un modèle simple, validé sur des données représentatives.

Élise Garcin-Lafargue
Retour en haut