Qu'est-ce que Base de données relationnelle ?
Base de données qui représente les données sous forme de tables (relations) de lignes et de colonnes, et relie les tables entre elles par des valeurs communes. On l'appelle aussi SGBDR ou RDB. Les requêtes et mises à jour se font en SQL, et des contraintes comme les clés primaires et les clés étrangères maintiennent la cohérence des données.
Nom japonais: 関係データベース
« Base de données relationnelle » apparaît dans 6 questions d'entraînement réparties sur 1 thèmes, dont Bases des bases de données.
Domaine: Bases des bases de données
Tables, lignes, colonnes et modèle relationnel
Une base de données relationnelle repose sur le modèle relationnel proposé par E. F. Codd en 1970. Les données y sont représentées sous forme de tables (relations) ; une ligne d'une table s'appelle un tuple, une colonne un attribut, et l'ensemble des valeurs qu'un attribut peut prendre son domaine. Les tables ne sont pas reliées par des pointeurs mais par des valeurs communes : une table des commandes, par exemple, possède une colonne IdClient dont la valeur identifie une ligne de la table des clients. On peut ainsi décider librement, pour chaque requête, quelles tables combiner et selon quelles conditions.
Gérer les données avec SQL et des contraintes
Dans une base de données relationnelle, le langage SQL sert à définir les tables (DDL), à rechercher et mettre à jour les données (DML) et à contrôler les privilèges (DCL). En SQL, on décrit seulement le résultat voulu ; l'optimiseur du SGBD décide dans quel ordre lire les tables et quels index utiliser. L'exactitude des données est assurée par des contraintes, comme les clés primaires qui identifient les lignes de façon unique, les clés étrangères qui font référence correctement aux lignes d'autres tables, NOT NULL et UNIQUE qui interdisent NULL et les doublons, et CHECK qui limite la plage des valeurs, ainsi que par les propriétés ACID des transactions.
Choisir entre bases relationnelles et autres bases
Les bases de données relationnelles sont largement utilisées pour les tâches de gestion comme les stocks et la comptabilité, où la cohérence des données compte et où les recherches combinent de nombreuses conditions différentes. Les services web à très fort trafic, en revanche, utilisent parfois des bases NoSQL, comme les bases clé-valeur ou orientées documents, faciles à répartir sur plusieurs serveurs. Plutôt que de n'utiliser qu'un seul type, il est courant de les combiner selon l'usage.
Questions fréquentes
À quoi renvoie le mot « relationnelle » dans base de données relationnelle ?
Aux tables elles-mêmes. En mathématiques, un ensemble de combinaisons d'éléments tirés de plusieurs ensembles s'appelle une relation, et chaque ligne d'une table correspond à une telle combinaison (un tuple). Le mot ne désigne pas les liens entre les tables.
Comment choisir entre une base de données relationnelle et une base NoSQL ?
Une base de données relationnelle convient aux traitements où la cohérence des données compte et où les recherches complexes comme les jointures de tables sont fréquentes. Une base NoSQL peut convenir lorsqu'il y a un très grand nombre de lectures et d'écritures simples par clé et que l'on veut monter en charge en répartissant les données sur plusieurs serveurs.