Bases de données : pourquoi en avez-vous besoin et quels sont leurs types ?

Une base de données recueille des données et les relie à une unité logique. Les différentes unités de données sont dotées de méta-descriptions et des informations nécessaires à leur traitement. Les bases de données sont extrêmement utiles pour gérer les bases de données et faciliter la recherche d’informations spécifiques. De plus, des droits peuvent être définis dans de nombreuses bases de données qui déterminent quelles personnes ou quels programmes sont autorisés à accéder à quelles données. Il s’agit également de présenter les contenus de manière claire et orientée vers la demande.

Les systèmes de base de données diffèrent les uns des autres sur le plan conceptuel et présentent donc des forces et des faiblesses individuelles. Cependant, ils sont tous subdivisés en base de données et en système de gestion de base de données. La "base de données" désigne l’ensemble des données à commander (également appelée "système"). Le système de gestion de la base de données est responsable de l’administration et détermine la structure, l’ordre, les droits d’accès, les dépendances, etc. Il utilise souvent un langage de base de données spécialement défini et un modèle de base de données approprié qui définit l’architecture du système de base de données.

Beaucoup de ces systèmes ne peuvent être lus que par des applications de base de données spécifiques et définies avec précision. De nos jours, il y a souvent confusion lorsqu’un programme de base de données est simplement appelé "base de données" sans autres spécifications. Le terme est aussi souvent utilisé pour désigner de simples collections de fichiers. Techniquement, cependant, un dossier sur un ordinateur qui contient de nombreux fichiers, par exemple, n’est pas encore une base de données.

Definition: Bases de données

Les bases de données sont des systèmes logiquement structurés pour la gestion électronique des données qui utilisent des systèmes de gestion de base de données pour contrôler les affiliations, les droits d’accès et stocker des informations sur la base de données qu’elles contiennent. La plupart des bases de données ne peuvent être ouvertes, modifiées et lues qu’à l’aide d’applications spécifiques.

Pourquoi avons-nous besoin de bases de données ?

Pour rendre le traitement électronique des données structurellement efficace, le concept de base de données électronique comme couche logicielle séparée entre le système d’exploitation et le programme d’application a été développé dans les années 1960. C’était le résultat d’une expérience pratique : travailler manuellement avec des dossiers individuels, superviser et accorder des droits d’accès s’est avéré tout simplement trop difficile et le traitement électronique des données a été développé pour rendre la tâche plus facile. L’idée du système de base de données électronique était l’une des innovations les plus importantes dans le développement de l’ordinateur.

Pour afficher cette vidéo, des cookies de tiers sont nécessaires. Vous pouvez consulter et modifier vos paramètres de cookies ici.

Tout d’abord, des modèles de réseaux et de bases de données hiérarchiques ont été élaborés. Cependant, celles-ci se sont rapidement révélées trop simples et techniquement limitées. IBM a réalisé une percée majeure dans les années 1970 avec le développement du modèle de base de données relationnelle beaucoup plus puissant, qui s’est rapidement répandu dans la vie professionnelle. Les produits les plus réussis de cette époque étaient le langage de base de données SQL d’Oracle et les produits successeurs d’IBM, SQL/DS et DB2.

Jusqu’aux années 2000, des fabricants renommés ont dominé le marché des logiciels de base de données jusqu’à ce que plusieurs projets open source apportent une bouffée d’air frais. Les systèmes librement accessibles les plus populaires sont MySQL et PostgreSQL. La tendance vers les systèmes NoSQL, qui a débuté en 2001, s’inscrit dans la tradition des systèmes de bases de données relationnelles lancés par les fabricants.

Aujourd’hui, il est impossible d’imaginer de nombreux domaines d’application sans systèmes de bases de données. Tous les logiciels d’entreprise sont basés sur de puissantes bases de données qui fournissent aux administrateurs système des options et des outils complets. En outre, la sécurité des données est devenue un sujet de plus en plus important dans les systèmes de bases de données. Enfin, les mots de passe, les renseignements personnels et même les devises électroniques sont stockés et cryptés dans des bases de données électroniques.

Le système financier moderne, par exemple, peut être imaginé comme un réseau de bases de données. La plupart des sommes d’argent existent sous forme d’unités d’information électronique - la protection de ces informations à l’aide de bases de données sécurisées est une tâche essentielle pour les institutions financières. C’est notamment pour cette raison que les bases de données électroniques sont extrêmement importantes pour la civilisation moderne.

Fonctions et exigences d’un système de gestion de base de données (SGBD)

Un terme largement utilisé pour décrire les fonctions et les exigences des transactions dans un système de gestion de base de données est ACID, un acronyme pour atomicité, cohérence, isolement et durabilité. Les termes partiels d’ACID couvrent les exigences les plus importantes pour un SGBD :

  • L’atomicité ou l’isolement est la propriété "tout ou rien" du SGBD où seules les requêtes valides sont effectuées dans l’ordre correct et où la transaction entière est exécutée correctement.
  • L’uniformité exige que les transactions réussies laissent une base de données stable, ce qui exige un examen constant de toutes les transactions.
  • L’isolement est l’exigence selon laquelle les transactions ne doivent pas "s’entraver", ce qui est généralement le cas avec les fonctions de verrouillage.
  • La durabilité signifie que toutes les données sont stockées en permanence dans le SGBD, même après qu’une transaction réussie soit effectuée. Ceci s’applique également aux erreurs système ou aux défaillances du SGBD. Les journaux de transactions, par exemple, qui enregistrent tous les processus dans le SGBD, sont essentiels à la durabilité.

Ce qui suit est une subdivision supplémentaire des fonctions et des exigences qu’un système de gestion de base de données pourrait avoir, au-delà du modèle ACID.

Fonction/exigences

Explication

Sauvegarde des données

Les bases de données stockent des textes électroniques, des documents, des mots de passe et d’autres informations auxquels il est possible d’accéder par des requêtes.

Révision des données

La plupart des bases de données vous permettent de modifier les informations stockées directement, en fonction des droits d’accès.

Suppression de données

Les enregistrements de données contenus dans les bases de données peuvent être supprimés complètement. Dans certains cas, les données supprimées peuvent être récupérées, dans d’autres, les informations sont perdues à jamais.

Gestion des métadonnées

L’information est habituellement stockée dans des bases de données contenant des métadonnées ou des balises Méta. Ceux-ci créent un ordre dans la base de données et rendent possible une fonction de recherche, par exemple. Les droits d’accès sont aussi souvent réglementés par des métadonnées.

La gestion des données suit quatre opérations fondamentales : créer, lire/récupérer, mettre à jour et supprimer. Ce concept est connu sous le nom de CRUD principe et sert de base à la gestion des données.

Intégrité des données

Les bases de données doivent être sécurisées pour empêcher tout accès non autorisé aux données stockées. En plus d’un processus de chiffrement puissant, une gestion minutieuse (en particulier par l’administrateur principal) est essentielle à la sécurité des données. La sécurité des données consiste généralement à prendre des précautions techniques pour éviter la manipulation ou la perte de données. Il s’agit d’un concept fondamental de la protection de la vie privée.

Intégrité des données

L’intégrité des données signifie que les données d’une base de données suivent certaines règles pour assurer l’exactitude des données et définir la logique métier de la base de données. C’est la seule façon de s’assurer que la base de données fonctionne de manière cohérente dans son ensemble. Il y a quatre de ces règles dans les modèles de bases de données relationnelles : l’intégrité de zone, l’intégrité d’entité, l’intégrité référentielle et la cohérence logique.

Mode multi-utilisateur

Les applications de base de données permettent d’accéder à la base de données à partir de différents appareils. Dans les opérations multi-utilisateurs, la répartition des droits et la sécurité des données sont fondamentales. Un autre défi pour les bases de données multi-utilisateurs est de maintenir la cohérence des données avec l’accès simultané en lecture et écriture pour plusieurs utilisateurs sans trop affecter les performances.

Optimisation des requêtes

Sur le plan technique, une base de données doit pouvoir traiter chaque requête aussi efficacement que possible pour garantir de bonnes performances. Si une base de données va "trop loin" avec une requête de données, la performance globale de la base de données en souffre.

Procédures de déclenchement et de stockage

Ces procédures sont des mini-applications stockées dans un système de gestion de base de données qui sont sollicitées (" déclenchées ") pour modifier certaines actions. Cela améliore notamment l’intégrité des données. Dans les bases de données relationnelles, les déclencheurs de base de données et les procédures stockées sont des processus typiques - ces dernières peuvent également contribuer à la sécurité du système si les utilisateurs ne sont autorisés à effectuer des actions qu’avec des procédures préfabriquées.

Transparence du système

La transparence du système est particulièrement importante pour les systèmes distribués : En privant l’utilisateur de la distribution et de la mise en œuvre des données, l’utilisation de la base de données distribuée ressemble à celle d’une base de données centralisée. Différents niveaux de transparence du système révèlent ou masquent les processus en arrière-plan. Cependant, la fonction principale est de simplifier l’utilisation autant que possible.

Note

Si vous gérez votre propre base de données, il est extrêmement important de disposer d’une méthode de sauvegarde des données compréhensible

Quels types de bases de données existe-t-il ?

Vous pouvez différencier les modèles de base de données couramment utilisés selon d’autres critères que le simple développement technique de la transmission électronique des données. L’accent a été mis sur l’efficacité et la convivialité, mais aussi sur la course technologique de fabricants renommés.

Modèle de base de données hiérarchique

Le modèle de base de données le plus ancien est le modèle hiérarchique. Il a depuis été remplacé par la base de données relationnelle et d’autres modèles. Cependant, le modèle hiérarchique a récemment été utilisé de plus en plus fréquemment : XML utilise le système simple pour le stockage, par exemple. Ici et là, les compagnies d’assurance et les banques utilisent encore des bases de données hiérarchiques, en particulier pour les anciennes applications de base de données. Le système de base de données hiérarchique le plus connu est IMS/DB d’IBM.

Les bases de données hiérarchiques ont des dépendances très claires. Cela signifie que chaque enregistrement de données a exactement un prédécesseur (relations parents-enfants, PCR) sauf la racine de la base de données. Ceci conduit à l’arborescence illustrée ci-dessus. Bien que chaque "enfant" ne puisse avoir qu’un "parent", chaque "parent" peut avoir un nombre quelconque d’"enfants". En raison de l’ordre hiérarchique strict, les couches qui ne sont pas directement adjacentes ne peuvent pas interagir les unes avec les autres. De plus, il n’est pas facile d’établir un lien entre deux arbres différents. Les structures hiérarchiques des bases de données sont donc extrêmement rigides, quoique très claires.

Les ensembles de données qui ont des "enfants" sont appelés "enregistrements". Les enregistrements sans "enfants" sont appelés "feuilles" parce qu’ils contiennent généralement les documents dans une base de données hiérarchique. Les dossiers sont habituellement utilisés pour organiser les feuilles. Chaque requête dans une base de données hiérarchique accède à une feuille à partir de la racine à travers les enregistrements.

Pour afficher cette vidéo, des cookies de tiers sont nécessaires. Vous pouvez consulter et modifier vos paramètres de cookies ici.

Modèle de base de données de type réseau

Le modèle de base de données réseau a été conçu à peu près en même temps que le modèle de base de données relationnelle, même s’il a surpassé la concurrence à long terme. Contrairement au modèle hiérarchique, les documents n’ont pas de relation parent-enfant stricte. Chaque enregistrement de données peut avoir plusieurs prédécesseurs, ce qui donne une structure de type réseau. De même, il n’existe pas de chemin d’accès unique à un enregistrement de données.

L’ensemble de données au milieu du graphique peut théoriquement être atteint par cinq autres ensembles. En même temps, l’accès à l’ensemble de données du milieu permet d’accéder à cinq ensembles de données supplémentaires. Les dépendances peuvent également être définies dans le modèle de base de données réseau : L’enregistrement le plus haut n’a pas de lien direct avec celui de l’extrême droite, il doit donc passer par celui du milieu (qui peut alors autoriser ou refuser l’accès). Pour ce faire, l’utilisateur peut accéder directement à l’enregistrement de données dans le coin supérieur gauche. Les ensembles de données peuvent être ajoutés et supprimés de manière fluide dans le modèle de réseau sans interférer de manière significative avec la structure globale.

Aujourd’hui, le modèle de base de données en réseau est principalement utilisé sur les mainframes. Dans d’autres domaines, soit le modèle hiérarchique (en particulier pour les clients d’IBM) continue d’inspirer confiance, à moins que la transition vers un modèle relationnel plus souple et plus facile à utiliser n’ait été effectuée. Les modèles de base de données réseau bien connus sont l’UDS de Siemens et le DMS de Sperry Univac. Au fil des années, les deux sociétés ont également développé des hybrides intéressants entre le modèle réseau et le modèle relationnel sans réaliser une véritable percée. Cependant, les résultats de ce test peuvent encore être tracés dans Siemens SQL aujourd’hui. La base de données graphique, dont la structure rappelle celle d’un réseau, constitue un perfectionnement moderne du modèle de réseau.

Modèle de base de données relationnelle

Le modèle de base de données le plus populaire aujourd’hui est le modèle relationnel, même s’il est considéré comme imparfait par beaucoup. Le système de gestion de base de données relationnelle associé est mieux connu sous l’acronyme SGBDR, et SQL est généralement utilisé comme langage de base de données. Le modèle de base de données relationnelle basé sur des tableaux est basé sur le concept de base de la "relation", un terme qui est fermement défini en mathématiques. Les relations sont formulées à l’aide de l’algèbre relationnelle, qui peut être utilisée pour extraire des informations spécifiques de ces relations. Ce principe est à la base du langage SQL de la base de données.

Le modèle de base de données relationnelle fonctionne avec des tables individuelles qui définissent la localisation et les liens entre les informations. Ces informations forment un ensemble de données (dans le diagramme d’une ligne ou d’un "tuple"). Les informations individuelles sont collectées sous forme d’attributs (dans les graphiques A1 à An) dans les colonnes. La relation totale ("relation" est souvent utilisée comme synonyme du terme "table") est dérivée d’attributs connexes. La clé primaire, qui est généralement définie comme le premier attribut (A1) et ne doit jamais changer, est élémentaire pour l’identification unique d’un enregistrement de données. En d’autres termes, cette clé primaire (aussi appelée "ID") définit la position exacte de l’ensemble de données suivant avec tous les attributs.

Note

Lisez notre article sur la base de données relationnelle pour savoir pourquoi elle est devenue la norme établie, les détails de son fonctionnement et le type de critiques auxquelles elle fait face.

Modèle de base de données orienté objet

Les bases de données objets n’ont été conçues qu’à la fin des années 1980 et trouvent encore peu de domaines d’application aujourd’hui. Les bases de données orientées objet, dont certaines sont disponibles en open source, sont le plus souvent utilisées sur les plates-formes Java et.NET. La base de données d’objets la plus connue est db40, qui marque des points, surtout avec sa petite taille de mémoire. Les bases de données objets fonctionnent généralement avec le langage de requête OQL, qui est très similaire à SQL.

Dans le modèle de base de données orienté objet, les données, ses fonctions et ses méthodes sont stockées dans un objet. Les objets sont généralement des objets à terme avec des attributs associés qui décrivent l’objet plus en détail. L’accès à ces objets est défini dans le système de gestion de base de données d’objets à l’aide des "méthodes" qui sont enregistrées avec les données de l’objet.

Les objets peuvent être complexes et se composer d’un nombre illimité de types de données. En outre, les objets sont uniques dans le système de base de données et sont identifiés par le numéro d’identification unique (ID d’objet, OID). Comme vous pouvez le voir dans le diagramme, les objets individuels sont regroupés en classes d’objets, ce qui se traduit par une hiérarchie de classes. Bien qu’il semble y avoir une similitude avec le modèle de base de données hiérarchique, l’approche orientée objet est décisive ici et il n’y a pas de relations parent-enfant fixes. Néanmoins, la méthode d’accès peut être spécifiée par la classe d’objets.

Les bases de données d’objets offrent des avantages pour les problèmes complexes avec des profondeurs d’objets correspondantes. La base de données d’objets fonctionne de manière largement indépendante, sans trop d’intervention dans la normalisation et le référencement d’ID, et permet par la suite l’alimentation relativement simple et fluide d’objets nouveaux et complexes. Cependant, les requêtes simples sont beaucoup plus rapides dans un système de base de données relationnelle, par exemple. Comme les systèmes de base de données orientés objet ne sont pas très populaires, cela conduit à une compatibilité insuffisante avec de nombreuses applications de base de données courantes.

Modèle de base de données orientée document

Dans ce modèle, les documents constituent l’unité de base pour le stockage des données. Ils structurent les données et ne doivent pas être confondus avec des documents comme ceux utilisés dans les programmes d’édition de texte. Les données sont stockées par paires clé/valeur et se composent d’une "clé" et d’une "valeur". Étant donné que la structure et le nombre de ces paires ne sont pas fixes, les documents individuels d’une base de données orientée document peuvent avoir un aspect très différent. Chaque document est une unité autonome. Les relations entre les documents ne sont pas faciles à établir, mais ne sont pas non plus nécessaires dans ce modèle.

Note

Ces dernières années, les bases de données orientées documents ont connu un véritable boom grâce au succès du NoSQL, notamment grâce à sa bonne évolutivité. Un exemple de ce type de système de base de données est MongoDB.

Dans le modèle relationnel (illustré dans le graphique avec les tableaux), différentes relations sont reliées entre elles pour lire un ensemble de données commun. Dans le modèle de document, un seul document suffit pour stocker toutes les informations. Le schéma est librement sélectionnable : le modèle de base de données orientée document est conceptuellement exempt de schéma, à condition que le langage de base de données utilisé reste le même.

Une idée élémentaire pour les bases de données de documents est que les données associées sont toujours stockées ensemble en un seul endroit (dans le document). Alors que les bases de données relationnelles affichent et sortent généralement des informations liées en reliant plusieurs tables, la requête spécifique d’un document dans le modèle basé sur les documents est suffisante. Ceci réduit le nombre d’opérations nécessaires dans la base de données.

Les systèmes de bases de données documentaires sont particulièrement intéressants pour les applications Web, car ils permettent d’alimenter des formulaires HTML complets. En particulier au cours du développement du web 2.0, les bases de données documentaires sont devenues de plus en plus populaires. Cependant, il existe des différences considérables entre les différents systèmes de base de données orientés documents, de la syntaxe à la structure interne. Ainsi, toutes les bases de données de documents ne sont pas adaptées à tous les domaines d’application. C’est précisément à cause de ces différentes itérations qu’il existe aujourd’hui des systèmes de base de données orientés documents bien connus : Lotus Notes, Amazon SimpleDB, Mongo DB, CouchDB, ThruDB, Orient DB, et bien plus encore.

Vue d’ensemble : modèles de bases de données

Modèle de base de données

Développement

Avantages

Inconvénients

Domaines d’application

Représentants reconnus

hiérarchique

Années 60

Accès extrêmement rapide à la lecture, structure claire, simplicité technique

Structure arborescente rigide qui ne permet pas de liens entre les branches

Banques, compagnies d’assurance, systèmes d’exploitation

IMS/DB

réseau

Début des années 70

Chemins de recherche multiples vers l’ensemble de données, pas de hiérarchie stricte

Mauvaise vue d’ensemble avec de plus grandes bases de données

Ordinateur central

UDS (Siemens), DMS (Sperry Univac)

Relationnelle

Années 70

Création et édition simples et flexibles, facilement extensibles, mise en service rapide, vivante et compétitive.

Impossible à gérer avec de grandes quantités de données, une mauvaise segmentation, des attributs clés artificiels, une interface de programmation externe, des propriétés d’objet et un comportement d’objet difficile à mapper.

Contrôle de gestion, comptabilité, systèmes de gestion des marchandises, systèmes de gestion de contenu, et bien plus encore...

MySQL, PostgreSQL, Oracle, SQLite, DB2, Ingres, MariaDB, Microsoft Access

Orientée objet

Fin des années 80

Meilleur support des langages de programmation orientés objet, stockage de contenu multimédia

Performances de plus en plus médiocres avec des volumes de données importants, peu d’interfaces compatibles

Inventaire (musées, vente au détail)

db4o

Orientée document

Années 80

Stockage centralisé des données associées dans des documents individuels, structure libre, orientation multimédia

Un effort organisationnel relativement important, souvent des compétences en programmation sont requises.

Applications Web, moteurs de recherche sur Internet, bases de données textuelles

Lotus Notes, Amazon SimpleDB, MongoDB, CouchDB, Riak, ThruDB, OrientDB