Article de reference

Modèle de base de données

Modèle de base de données pour MediaWiki 1.28.0 (2017) Différents types de modèles de bases de données Un modèle de base de données est un type de modèle de données qui détermin...

Modèle de base de données pour MediaWiki 1.28.0 (2017)
Différents types de modèles de bases de données

Un modèle de base de données est un type de modèle de données qui détermine la structure logique d'une base de données . Il détermine fondamentalement la manière dont les données peuvent être stockées, organisées et manipulées. L'exemple le plus courant de modèle de base de données est le modèle relationnel , qui utilise un format tabulaire.

Types

Les modèles de données logiques courants pour les bases de données comprennent :

Il s'agit du modèle de base de données le plus ancien. Développé par IBM pour IMS (Information Management System), il s'agit d'un ensemble de données organisées sous forme d'arbre. Chaque enregistrement est un arbre composé de plusieurs groupes appelés segments. Ce modèle utilise des relations un-à-plusieurs et l'accès aux données est prévisible.

Une base de données objet-relationnelle combine les deux structures liées.

Les modèles de données physiques comprennent :

Parmi les autres modèles :

Relations et fonctions

Un système de gestion de bases de données (SGBD) peut proposer un ou plusieurs modèles. La structure optimale dépend de l'organisation naturelle des données de l'application et de ses exigences, notamment en termes de débit transactionnel (rapidité), de fiabilité, de maintenabilité, d'évolutivité et de coût. La plupart des SGBD sont conçus autour d'un modèle de données particulier, bien que certains produits puissent prendre en charge plusieurs modèles.

Un modèle logique donné peut être implémenté de différentes manières , notamment par le biais de modèles de données physiques . La plupart des logiciels de bases de données offrent à l'utilisateur un certain contrôle sur l'optimisation de l'implémentation physique, car les choix effectués ont un impact significatif sur les performances.

Un modèle ne se limite pas à structurer des données : il définit également un ensemble d’opérations pouvant être effectuées sur ces données. Le modèle relationnel, par exemple, définit des opérations telles que SELECT , PROJECT et JOIN . Bien que ces opérations ne soient pas nécessairement explicites dans un langage de requête particulier , elles constituent le fondement sur lequel ce langage est construit.

Modèle plat

Exemple de modèle de fichier plat

Dans un modèle hiérarchique , les données sont organisées selon une structure arborescente , chaque enregistrement ayant un parent unique. Un champ de tri permet de conserver l'ordre des enregistrements frères. Les structures hiérarchiques étaient largement utilisées dans les premiers systèmes de gestion de bases de données sur mainframe, tels que l' IMS ( Information Management System ) d' IBM , et décrivent aujourd'hui la structure des documents XML . Cette structure permet une relation un-à-plusieurs entre deux types de données. Elle est particulièrement efficace pour décrire de nombreuses relations du monde réel : recettes, tables des matières, ordre des paragraphes/versets, et toute information imbriquée et triée.

Cette hiérarchie correspond à l'ordre physique des enregistrements stockés. L'accès aux enregistrements s'effectue par navigation descendante dans la structure de données à l'aide de pointeurs et d'un accès séquentiel. De ce fait, la structure hiérarchique s'avère inefficace pour certaines opérations de base de données lorsqu'un chemin complet (et non un lien ascendant et un champ de tri) n'est pas fourni pour chaque enregistrement. Ces limitations ont été compensées dans les versions ultérieures d'IMS par l'ajout de hiérarchies logiques à la hiérarchie physique de base.

Modèle de réseau

Exemple de modèle de réseau

Dans un fichier inversé ou un index inversé , le contenu des données sert de clés dans une table de consultation, et les valeurs de cette table sont des pointeurs vers l'emplacement de chaque instance d'un élément de contenu donné. C'est également la structure logique des index de bases de données modernes , qui peuvent n'utiliser que le contenu de certaines colonnes de la table de consultation. Le modèle de données de fichiers inversés permet de placer les index dans un ensemble de fichiers situés à proximité des fichiers de base de données existants, afin d'accéder directement et efficacement aux enregistrements nécessaires dans ces fichiers.

Le SGBD ADABAS de Software AG , lancé en 1970 , est un exemple notable d'utilisation de ce modèle de données. ADABAS a acquis une clientèle importante et est toujours utilisé et maintenu aujourd'hui. Dans les années 1980, il a intégré le modèle relationnel et le langage SQL à ses outils et langages d'origine.

La base de données orientée documents Clusterpoint utilise un modèle d'indexation inversée pour fournir une recherche plein texte rapide pour les objets de données XML ou JSON par exemple.

Modèle relationnel

Deux tables en relation

Certaines de ces extensions du modèle relationnel intègrent des concepts issus de technologies antérieures à ce modèle. Par exemple, elles permettent de représenter un graphe orienté avec des arbres sur les nœuds. La société allemande sones implémente ce concept dans sa base de données GraphDB .

Certains produits post-relationnels étendent les systèmes relationnels avec des fonctionnalités non relationnelles. D'autres sont parvenus à un résultat similaire en ajoutant des fonctionnalités relationnelles à des systèmes pré-relationnels. Paradoxalement, cela permet à des produits historiquement pré-relationnels, tels que PICK et MUMPS , de se présenter comme post-relationnels.

Le modèle d'espace de ressources (RSM) est un modèle de données non relationnel basé sur une classification multidimensionnelle.

Modèle de graphe

Les bases de données multivaluées traitent des données « grumeleuses », car elles peuvent stocker les données exactement de la même manière que les bases de données relationnelles, mais elles permettent également un niveau de profondeur que le modèle relationnel ne peut qu'approximer à l'aide de sous-tables. Ceci est presque identique à la manière dont XML exprime les données, où un champ/attribut donné peut avoir plusieurs valeurs correctes simultanément. On peut considérer les données multivaluées comme une forme compressée de XML.

Prenons l'exemple d'une facture, qui, dans un modèle de données multivaluées ou relationnelles, peut être représentée par : (A) une table d'en-tête de facture (une entrée par facture) et (B) une table de détail de facture (une entrée par ligne). Dans le modèle multivalué, il est possible de stocker les données dans une seule table, avec une table imbriquée pour représenter le détail : (A) la table des factures (une entrée par facture), sans autre table nécessaire.

L'avantage réside dans l'atomicité un-à-un de la facture (conceptuelle) et de sa représentation (données). Il en résulte également une réduction du nombre de lectures, une diminution des problèmes d'intégrité référentielle et une diminution considérable des ressources matérielles nécessaires pour supporter un volume de transactions donné.

Modèles de bases de données orientées objet

Exemple de modèle orienté objet