Aucun résultat trouvé

Votre recherche n’a donné aucun résultat.

Qu’est-ce qu’une base de données relationnelle ?

Une base de données relationnelle est un type de base de données qui stocke des données liées les unes aux autres, et y donne accès. Les bases de données relationnelles sont basées sur le modèle relationnel, un moyen intuitif et simple de représenter des données dans des tables. Dans une base de données relationnelle, chaque ligne de la table constitue un enregistrement portant un identifiant unique appelé clé. Les colonnes de la table contiennent les attributs des données et chaque enregistrement possède généralement une valeur pour chaque attribut, ce qui facilite l’établissement de relations entre les points de données.

Exemple de base de données relationnelle

Voici un exemple simple de deux tables utilisées par une petite entreprise pour traiter les commandes qu’elle reçoit. La première table contient les informations client. Chaque enregistrement comprend donc le nom d’un client, son adresse, ses informations de livraison et de facturation, son numéro de téléphone et d’autres coordonnées. Chaque information (chaque attribut) figure dans sa propre colonne et la base de données attribue un ID unique (une clé) à chaque ligne. La deuxième table contient les commandes client. Chaque enregistrement comprend l’ID du client qui a passé la commande, le produit commandé, sa quantité, la taille et la couleur sélectionnées, etc., mais pas le nom du client ni ses coordonnées.

Ces deux tables possèdent un seul point commun : la colonne ID (la clé). Grâce à cette colonne commune, la base de données relationnelle peut créer une relation entre les deux tables. Puis, quand l’application de traitement des commandes de l’entreprise envoie une commande à la base de données, celle-ci peut accéder à la table des commandes client, extraire les informations concernant la commande et utiliser l’ID client de cette table pour rechercher les informations de facturation et de livraison du client dans la table Informations client. L’entrepôt peut alors sortir le bon produit, le client peut recevoir la commande en temps voulu et l’entreprise peut recevoir le règlement attendu.

Type de structure des bases de données relationnelles

Le modèle relationnel signifie que les structures de données logiques (les tables de données, les vues et les index) sont séparées des structures de stockage physiques. En raison de cette séparation, les administrateurs de base de données peuvent gérer le stockage de données physique sans affecter l’accès à ces données en tant que structure logique. Par exemple, si vous changez le nom d’un fichier de base de données, les tables qu’il contient ne changeront pas de nom.

La distinction entre logique et physique s’applique également aux opérations de base de données, qui sont des actions clairement définies permettant aux applications de manipuler les données et les structures de la base de données. Les opérations logiques permettent à une application de spécifier le contenu dont elle a besoin, tandis que les opérations physiques déterminent le mode d’accès aux données à utiliser, puis exécutent la tâche.

Pour que les données soient toujours exactes et accessibles, les bases de données relationnelles respectent certaines règles d’intégrité. Par exemple, une règle d’intégrité peut interdire les lignes en double dans une table afin d’éliminer le risque d’insertion d’informations erronées dans la base de données.

Le modèle relationnel

Dans les premières bases de données, chaque application stockait les données dans sa propre structure. Lorsque les développeurs voulaient créer des applications pour utiliser ces données, ils devaient bien connaître la structure de données associée pour trouver les données dont ils avaient besoin. Ces structures étaient inefficaces et difficiles à gérer et à optimiser pour obtenir de bonnes performances d’application. Le modèle de base de données relationnelle a été conçu pour ne plus avoir à gérer plusieurs structures de données arbitraires.

Le modèle relationnel fournissait un moyen standard de représenter et d’interroger des données qui pouvait être utilisé par n’importe quelle application. Dès le début, les développeurs ont compris que la force principale du modèle de base de données relationnelle résidait dans son utilisation des tables, qui constituait un moyen intuitif, efficace et flexible de stocker des informations structurées et d’y accéder.

Au fil du temps, un autre atout du modèle relationnel s’est révélé lorsque les développeurs ont commencé à utiliser le langage SQL pour enregistrer et interroger des données dans une base de données. Depuis de nombreuses années, le SQL est largement utilisé comme langage pour les requêtes de base de données. Basé sur l’algèbre relationnelle, le SQL fournit un langage mathématique cohérent avec lui-même qui permet d’améliorer plus facilement les performances de requêtes de base de données. Les autres approches nécessitent quant à elles de définir des requêtes individuelles.

Avantages des bases de données relationnelles

Simple mais puissant, le modèle relationnel est utilisé par les organisations de tous types et de toutes tailles pour répondre à un large éventail de besoins en informations. Les bases de données relationnelles servent à effectuer le suivi des inventaires, à traiter les transactions d’e-commerce, à gérer d’énormes quantités d’informations client stratégiques, et bien plus encore. Une base de données relationnelle peut répondre à tout besoin en informations si les données sont liées entre elles et doivent être gérées de manière cohérente, sécurisée, selon des règles.

Les bases de données relationnelles existent depuis les années 1970. Aujourd’hui, les avantages du modèle relationnel continuent à en faire le modèle de prédilection pour les bases de données.

Cohérence des données

Le modèle relationnel est le plus adapté pour maintenir la cohérence des données entre les applications et les copies de base de données (appelées instances). Par exemple, lorsqu’un client effectue un dépôt sur un guichet automatique, puis consulte le solde de son compte sur un téléphone mobile, il s’attend à ce que le solde soit immédiatement mis à jour. Les bases de données relationnelles sont idéales pour offrir ce type de cohérence des données, en garantissant que plusieurs instances d’une base de données contiennent les mêmes données à tout moment.

Il est difficile pour les autres types de bases de données de maintenir ce niveau de cohérence et d’immédiateté avec de grands volumes de données. Certaines bases de données récentes, comme les bases NoSQL, ne peuvent fournir qu’une “cohérence éventuelle”. Selon ce principe, si la base de données subit une mise à l’échelle ou si plusieurs utilisateurs accèdent aux mêmes données en même temps, il faut un certain temps pour que les données soient mises à jour. La cohérence éventuelle est acceptable dans certains cas d’utilisation, telles que la gestion des offres d’un catalogue de produits, mais pour les opérations stratégiques telles que les transactions de panier d’achat, la base de données relationnelle reste la solution de référence.

Validation et atomicité

Les bases de données relationnelles gèrent les règles et les politiques de l’entreprise à un niveau très fin, avec des politiques strictes concernant la validation (enregistrement effectif d’une modification apportée à la base de données). Par exemple, prenons une base de données d’inventaire qui permet de suivre trois références qui sont toujours utilisées ensemble. Lorsqu’on sort une référence du stock, il faut également sortir les deux autres. Si l’une des trois références n’est pas disponible, aucune des références ne doit sortir : les trois références doivent être disponibles avant que la base de données ne valide la transaction. Une base de données relationnelle n’acceptera pas de valider une transaction avec une référence seule. Elle la validera si elle contient les trois références. Cette capacité de validation à plusieurs facettes est appelée atomicité. L’atomicité est déterminante pour maintenir l’exactitude des données de la base et pour garantir leur conformité aux règles, réglementations et politiques de l’entreprise.

Bases de données ACID et relationnelles

Quatre propriétés cruciales définissent les transactions des bases de données relationnelles : atomicité, cohérence, isolement et durabilité, généralement appelées ACID.

  • L’atomicité définit tous les éléments constituant une transaction de base de données complète.
  • La cohérence définit les règles permettant de maintenir les données dans un état correct après une transaction.
  • L’isolement rend les répercussions d’une transaction invisibles aux autres utilisateurs jusqu’à ce qu’elle soit validée, afin d’éviter toute confusion.
  • La durabilité garantit que les modifications apportées aux données deviennent permanentes une fois la transaction validée.

Procédures stockées et bases de données relationnelles

L’accès aux données implique de nombreuses actions répétitives. Par exemple, il peut être nécessaire de répéter des centaines ou des milliers de fois une requête simple pour obtenir des informations d’une table de données et obtenir le résultat souhaité. Ces fonctions d’accès aux données nécessitent d’écrire du code pour accéder à la base de données. Les développeurs d’applications ne veulent pas créer un nouveau code pour ces fonctions dans chaque nouvelle application. Heureusement, les bases de données relationnelles prennent en charge les procédures stockées, qui sont des blocs de code accessibles via un simple appel d’application. Par exemple, une seule procédure stockée peut fournir un marquage des enregistrements cohérent aux utilisateurs de plusieurs applications. Les procédures stockées peuvent également aider les développeurs à s’assurer que certaines fonctions de données dans l’application sont implémentées d’une certaine manière.

Verrouillage de la base de données et accès simultanés

Des conflits peuvent survenir dans une base de données lorsque plusieurs utilisateurs ou applications tentent de modifier les mêmes données en même temps. Les techniques de verrouillage et d’accès simultanés réduisent les risques de conflits tout en maintenant l’intégrité des données.

Le verrouillage empêche les autres utilisateurs et applications d’accéder aux données lors de leur mise à jour. Dans certaines bases de données, le verrouillage s’applique à l’ensemble de la table, ce qui nuit aux performances des applications. D’autres bases de données, telles que les bases de données relationnelles Oracle, appliquent des verrouillages au niveau de l’enregistrement, laissant ainsi les autres enregistrements de la table disponibles, ce qui contribue à améliorer les performances des applications.

Les accès simultanés permettent de gérer l’activité lorsque plusieurs utilisateurs ou applications appellent des requêtes en même temps sur la même base de données. Cette technique assure de fournir l’accès adéquat aux utilisateurs et aux applications conformément aux politiques définies pour le contrôle des données.

Caractéristiques à rechercher dans une base de données relationnelle

Le logiciel utilisé pour stocker, gérer, interroger et récupérer les données stockées dans une base de données relationnelle est appelé un système de gestion de base de données relationnelle (RDBMS). Le système RDBMS fournit une interface entre les utilisateurs et les applications d’une part, et la base de données d’autre part. Il propose également des fonctions administratives pour gérer le stockage des données, l’accès et les performances.

Plusieurs facteurs peuvent guider votre décision lorsque vous envisagez différents types de base de données et solutions de base de données relationnelle. Le système RDBMS que vous choisirez dépendra des besoins de votre entreprise. Posez-vous les questions suivantes :

  • Quels sont nos besoins en matière d’exactitude des données ? Le stockage et l’exactitude des données dépendront-ils de la logique métier ? Nos données ont-elles des besoins stricts en matière d’exactitude (par exemple, données financières et rapports des pouvoirs publics) ?
  • Avons-nous besoin d’évolutivité ? Quelle est l’ampleur des données à gérer et quelle croissance peut-on attendre ? Le modèle de base de données devra-t-il prendre en charge les copies de base de données en miroir (en tant qu’instances séparées) pour assurer l’évolutivité ? Si tel est le cas, peut-il maintenir la cohérence des données entre ces instances ?
  • Quelle est l’importance des accès simultanés ? Plusieurs utilisateurs et applications auront-ils besoin d’un accès simultané aux données ? Le logiciel de base de données prend-il en charge la simultanéité tout en protégeant les données ?
  • Quels sont nos besoins en termes de performances et de fiabilité ? Avons-nous besoin d’une solution haute performance et haute fiabilité ? Quelles sont les exigences pour les performances requête-réponse ? Quels sont les engagements du fournisseur en matière d’accords de niveau de service (SLA) ou de temps d’arrêt imprévus ?

La base de données relationnelle du futur : la base de données à pilotage automatique

Au fil des ans, les bases de données relationnelles se sont améliorées, gagnant en rapidité, en robustesse et en simplicité d’utilisation. Mais elles sont également devenues plus complexes et l’administration des bases de données a toujours été un travail à plein temps. Au lieu d’utiliser leur expertise pour se concentrer sur le développement d’applications innovantes apportant de la valeur à l’entreprise, les développeurs ont dû consacrer la majeure partie de leur temps aux activités de gestion nécessaires pour optimiser les performances des bases de données.

Aujourd’hui, la technologie autonome s’appuie sur les atouts du modèle relationnel pour livrer un nouveau type de base de données relationnelle. La base de données à pilotage automatique (également connue sous le nom de base de données autonome) conserve la puissance et les avantages du modèle relationnel, mais utilise l’intelligence artificielle, le Machine Learning et l’automatisation pour surveiller et améliorer les performances des requêtes et les tâches de gestion. Par exemple, pour améliorer les performances des requêtes, la base de données à pilotage automatique peut, de son propre chef, émettre des hypothèses et tester des index pour accélérer les requêtes, puis passer les meilleurs index en production. La base de données à pilotage automatique apporte ce type d’améliorations en permanence, sans intervention humaine.

La technologie autonome libère les développeurs des tâches répétitives de gestion de base de données. Par exemple, ils n’ont plus besoin de déterminer les besoins en infrastructure à l’avance. Au lieu de cela, avec une base de données à pilotage automatique, ils peuvent ajouter du stockage et des ressources de calcul pour accompagner la croissance de la base de données. En quelques étapes seulement, les développeurs peuvent facilement créer une base de données relationnelle autonome, ce qui accélère le développement d’applications.