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 points de données liés à d’autres données et qui procure un accès à ceux-ci. Les bases de données relationnelles sont basées sur un modèle relationnel et intuitif qui permet de représenter les données dans des tables. Dans une base de données relationnelle, chaque rangée de la table est un enregistrement, avec un ID unique appelé clé. Les colonnes de la table présentent les attributs des données. Un enregistrement est habituellement associé à une valeur pour chaque attribut. De la sorte, cela 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 qu’une petite entreprise peut utiliser pour traiter les commandes pour ses produits. La première table permet de stocker les informations du client. Chaque enregistrement de la table comprend le nom du client, son adresse, les informations d’expédition et de facturation, un numéro de téléphone et d’autres coordonnées. Chaque élément d’informations (chaque attribut) est dans une colonne. De plus, la base de données affecte un ID unique (clé) pour chaque rangée. La deuxième table permet de stocker une commande client où chaque enregistrement comprend l’ID du client qui a passé la commande, l’article commandé, la quantité commandée, la couleur et la taille de l’article, etc. Cette table ne présente toutefois pas le client, comme son nom ou ses informations de contact.

Les deux tables ont seulement un point en commun : la colonne ID (clé). En raison de cette colonne commune, il est possible d’établir une relation entre les deux tables. Puis, lorsque l’application de traitement des commandes de l’entreprise soumet une commande à la base de la base de données, cette dernière peut consulter la table des commandes clients, extraire les informations pertinentes sur la commande et utilisez l’ID client de la table pour repérer les informations de facturation et d’expédition du client dans la table des informations de client. Tout ceci permet à entrepôt d’aller chercher le produit approprié, au client de recevoir la livraison en temps opportun et à l’entreprise de recevoir un paiement.

Structuration des bases de données relationnelles

Le modèle relationnel signifie que les données logiques permettent de structurer les tables, les vues et les indexe de manière séparée aux structures de stockage physique. Cette séparation signifie que les administrateurs peuvent gérer le stockage des données physique sans aucune incidence sur l’accès aux données en tant que structure logique. Par exemple, renommer un fichier de données ne mène pas à un changement de nom dans les tables qui l’accompagne.

La distinction entre le stockage logique et physique s’applique également aux opérations de base de données. Ces dernières sont des actions clairement définies qui permettent de manipuler les données et les structures de la base de données. Les opérations logiques permettent à une application de préciser le contenu souhaité, et les opérations physiques déterminent comment les données doivent être accédées et manipulées durant la tâche.

Pour s’assurer 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 préciser que les rangées en double ne sont pas permises dans une table afin d’éliminer le risque d’entrer des données erronées dans la base de données.

Modèle relationnel

Lors des premières années d’utilisation des bases de données, toutes les données d’application étaient stockées dans une structure unique. Lorsque les développeurs ont par la suite voulu construire des applications afin d’utiliser ces données, ils devaient étudier la structure des données particulière afin de repérer les données dont ils avaient besoin. Ces structures de données étaient inefficaces, difficiles à maintenir et difficiles à optimiser pour de bonnes performances. Le modèle de base de données relationnelle a été conçu pour résoudre le problème des structures de données arbitraires.

Ce modèle fournit une façon standardisée de représenter et d’interroger les données facilitant l’utilisation par une application donnée. Depuis le début, les développeurs ont reconnu que la principale force des bases de données relationnelles était leur utilisation des tables, qui représente une façon intuitive, efficace et flexible de stocker et d’accéder à des informations structurées.

Au fil du temps, une autre force du modèle relationnel a émergé, alors que les développeurs ont commencé à utiliser le langage SQL (Structured Query Language) pour écrire et interroger les données dans une base de données. Depuis de nombreuses années, SQL a été largement utilisé comme langage d’interrogation des bases de données. À partir de l’algèbre relationnelle, SQL fournit un langage mathématique intrinsèquement cohérent qui facilite l’amélioration des performances de toutes les requêtes de base de données. En comparaison, les autres approches doivent définir les requêtes individuelles.

Avantages des bases de données relationnelles

Le modèle relationnel, simple mais puissant, est utilisé par les organisations de tout type, peu importe la taille, pour une variété de besoins informationnels. Les bases de données relationnelles servent à faire le suivi des stocks, aux transactions de commerce électronique, à la gestion d’énormes quantités d’information essentielles à la mission et plus encore. Une base de données relationnelle peut être envisagée pour tout type de besoin dans lequel les points de données sont associés à d’autres points de données qui doivent être gérées dans un endroit sécurité, basé sur des règles et de manière cohérente.

Les bases de données relationnelles existent depuis les années 1970. Aujourd’hui, les avantages du modèle relationnel sont tels qu’il est le modèle de base de données le plus couramment utilisé.

Cohérence des données

Le modèle relationnel est ce qu’il y a de mieux pour assurer la cohérence des données pour toutes les applications et toutes les copies de la base de données (appelée instances). Par exemple, lorsqu’un client dépose de l’argent à un guichet automatique, puis consulte le solde du compte sur un téléphone mobile, le client s’attend à ce que le solde soit mis à jour avec le dépôt qui vient d’être fait. Les bases de données relationnelles excellent dans ce genre de traitement de la cohérence des données, car elles assurent que les instances multiples d’une base de données disposent des mêmes données en tout temps.

Pour les autres types de bases de données, il s’avère difficile d’assurer ce niveau de cohérence en temps réel avec de grandes quantités de données. Certaines des bases de données récentes, comme NoSQL, n’assurent qu’un niveau de cohérence « éventuel » seulement. En vertu de ce principe, lorsque la base est mise à l’échelle, ou si plusieurs utilisateurs ont accès aux mêmes données en même temps, les données nécessiteront d’un certain temps pour « rattraper le retard ». Une cohérence éventuelle est acceptable pour certains usages, par exemple pour maintenir les éléments dans un catalogue de produits. Toutefois, pour des activités commerciales essentielles comme un panier, une base de données relationnelle de transactions est toujours la référence.

Engagement et atomicité

Seules les bases de données relationnelles peuvent traiter les règles et les politiques d’affaires à un niveau granulaire, avec des politiques strictes au sujet de l’engagement (c’est-à-dire apporter une modification à la base de données de manière permanente). Par exemple, considérez une base de données d’inventaire qui fait le suivi de trois pièces qui sont toujours utilisées ensemble. Lorsqu’une pièce est retirée de l’inventaire, les deux autres doivent aussi être retirés. Si une des trois pièces n’est pas disponible, aucune des pièces ne doit être retirée. Les trois pièces doivent être disponibles avant que la base de données n’applique une transaction. Une base de données relationnelle n’appliquera la transaction pour une pièce que si elle est assurée qu’elle peut l’appliquer aux trois pièces. La capacité d’application à plusieurs facettes s’appelle la capacité d’atomicité. L’atomicité est la clé pour préserver l’exactitude d’une base de données et de s’assurer qu’elle est conforme aux règles, aux règlements et aux politiques de l’entreprise.

ACID et bases de données relationnelles

Quatre propriétés essentielles définissant les transactions des bases de données relationnelles : l’atomicité, la cohérence, l’isolement et la durabilité. On réfère habituellement à ces propriétés en utilisant l’acronyme ACID.

  • L’atomicité définit tous les éléments qui composent une transaction de base de données complète.
  • La cohérence définit les règles qui maintiennent les points de données dans un bon état après la transaction.
  • L’isolement conserve l’effet de la transaction invisible aux autres utilisateurs, jusqu’à ce que la transaction soit appliquée. Cela permet d’éviter toute confusion.
  • La durabilité permet d’assurer que les changements appliqués aux données soient permanents lorsque la transaction est appliquée.

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

L’accès aux données implique plusieurs actions répétitives. Par exemple, une simple requête pour obtenir des informations sur une table de données peut nécessiter d’être répétée des centaines ou des milliers de fois afin d’obtenir les résultats escomptés. Ces fonctions d’accès aux données nécessitent un certain type de code pour accéder à la base de données. Les développeurs d’applications ne souhaitent pas rédiger du nouveau code pour ces fonctions dans chaque nouvelle application. Heureusement, les bases de données relationnelles permettent des procédures stockées, qui sont des blocs de code pouvant être consultés avec un simple appel à l’application. Par exemple, une seule procédure stockée peut fournir un balisage de dossier uniformisé pour les utilisateurs de plusieurs applications. Les procédures stockées peuvent aussi aider les développeurs à s’assurer que certaines des fonctions de données dans l’application sont mises en œuvre de manière particulière.

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

Les 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é permettent de réduire les risques de conflits, tout en maintenant l’intégrité des données.

Le verrouillage empêche les autres utilisateurs et les autres applications d’accéder aux données lors d’une mise à jour. Dans certaines bases de données, le verrouillage s’applique à toute la table, ce qui a une incidence négative sur la performance des applications. D’autres bases de données, comme les bases de données relationnelles d’Oracle, appliquent le verrouillage à l’enregistrement, et les autres enregistrements dans la table restent libres. Cela assure ainsi un meilleur rendement des applications.

L’accès simultané gère les activités lorsque plusieurs utilisateurs ou applications font des requêtes en même temps sur la même base de données. Cette fonction offre à l’utilisateur et aux applications un accès approprié, conformément aux politiques définies pour le contrôle des données.

Éléments à rechercher au moment de choisir 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é système de gestion de base de données relationnelle (RDBMSf). Un RDBMSf offre une interface entre les utilisateurs, les applications et les bases de données, ainsi que des fonctions d’administration pour la gestion du stockage des données, de l’accès et de la performance.

Plusieurs facteurs peuvent guider votre décision au moment de choisir un type de base de données relationnelle. Le RDBMSf que vous choisissez dépend de vos besoins commerciaux. Posez-vous les questions suivantes :

  • Quelles sont vos exigences de précision des données? Est-ce que le stockage et l’exactitude des données dépendent de votre logique commerciale? Est-ce que vos données présentent des exigences strictes d’exactitude (par exemple, des données financières et de rapports du gouvernement)?
  • Avez-vous besoin d’extensibilité? Quelle est l’échelle des données à gérer et quel type de croissance anticipez-vous? Est-ce que le modèle de base de données doit prendre en charge des copies miroir de la base de données (en tant qu’instance distincte) à des fins d’extensibilité? Le cas échéant, le modèle peut-il maintenir la cohérence des données pour toutes les instances?
  • Quelle importance accordez-vous aux accès simultanés? Est-ce que plusieurs utilisateurs et applications doivent accéder aux données en même temps? Est-ce que la base de données doit prendre en charge les accès simultanés tout en protégeant les données?
  • Quels sont les besoins en matière de performance et de fiabilité? Avons-nous besoin d’un produit à haute performance et à haute fiabilité? Quelles sont les exigences en matière de performances pour les interrogations-réponses? Quels sont les engagements des fournisseurs pour les contrats de niveau de service (CNS) ou d’arrêt imprévus?

La base de données relationnelle de l’avenir : Base de données à gestion automatisée

Au fil des ans, les bases de données relationnelles sont devenues meilleures, plus rapides, plus puissantes et plus faciles à utiliser. Mais elles sont aussi devenues plus complexes. Ainsi, l’administration d’une base de données est depuis longtemps devenue un emploi à temps plein. Au lieu de mettre à profit l’expertise de ces spécialistes pour le développement d’applications novatrices qui apportent de la valeur à l’entreprise, les développeurs doivent passer le plus clair de leur temps sur des activités de gestion afin d’optimiser le rendement de la base de données.

Aujourd’hui, la technologie d’automatisation tire parti des forces du modèle relationnel afin d’offrir un nouveau type de base de données relationnelle. Les bases de données à gestion automatisée (aussi connues sous le nom de base de données autonomes) conservent la puissance et les avantages du modèle relationnel, mais ont recours à l’intelligence artificielle (IA), à l’apprentissage automatique et à l’automatisation afin de surveiller et d’améliorer les performances des interrogations et des tâches de gestion. Par exemple, afin d’améliorer la performance des interrogations, une base de données à gestion automatisée peut établir des hypothèses et tester les index afin que les interrogations soient plus rapides. Par la suite, les meilleures solutions seront poussées dans l’environnement de production de manière autonome. Les bases de données à gestion automatisée réalisent ces améliorations en continu, sans la nécessité d’intervention humaine.

La technologie d’automatisation libère les développeurs des tâches de gestion de base de données de routine. Par exemple, ils n’ont plus à déterminer les exigences d’infrastructure à l’avance. Au lieu de cela, grâce à une base de données à gestion automatisée, ils peuvent ajouter du stockage et des ressources informatiques au besoin afin de soutenir la croissance de la base de données. En seulement quelques étapes, les développeurs peuvent créer facilement une base de données relationnelle autonome, accélérant le temps de développement des applications.