Base de données orientée documents
Une base de données orientée documents est une base de données destinée aux applications qui gèrent des documents. Également nommée "magasin de documents", c'est un programme informatique et un système de stockage de données conçu pour stocker, récupérer et gérer des informations orientées documents, également appelées données semi-structurées.
Ce type de bases de données peut être une sur-couche d'une base de données relationnelle ou non. C'est également l'une des principales catégories de bases de données NoSQL.
Deux langages sont maintenant principalement utilisés pour représenter les documents structurés : XML et JSON.
L'avantage des bases de données orientées documents est l'unité d'information et l'adaptation à la distribution. En effet, d'une part, comme tout est compris dans la structure cela évite de faire des jointures pour reconstituer l'information car elle n'est plus dispersée dans plusieurs tables. Il n'y a plus besoin de transaction car l'écriture est suffisante pour créer des données sur un document pour modifier un objet. Une seule lecture est suffisante pour reconstituer un document. D'autre part, les documents étant autonomes, on peut les déplacer facilement, ils sont indépendants les uns des autres.
Il existe plusieurs inconvénients : la hiérarchisation d'accès, l'absence de perspective dans la base de données et la perte d'autonomie des entités.
L'objectif d'une base de données orientée documents est la représentation des informations plus ou moins complexes en satisfaisant les besoins suivants :
- Flexibilité
- Richesse de la structure
- Autonomie
- Sérialisation
Représentation des documents
Un document est représenté comme :
- Une valeur atomique (un entier, une chaîne de caractères) ;
- Une paire clé-valeur ;
- Un tableau de valeurs ;
- Un agrégat de paires clé-valeur ; et de manière générale toute composition des possibilités précédentes (un tableau d’agrégats de paires clé-valeur par exemple).
Les documents structurés sont des graphes dont chaque partie est auto-décrite.
Il existe deux représentations d’un document :
- Forme sérialisée : c’est la forme courante, où le contenu est marqué par des balises ou par des accolades ouvrante/fermante.
- Forme arborescente structure du document.
Requêtes
La forme des requêtes est dépendante du langage de représentation des documents.
Il existe deux langages de requêtes XML : XPath et XQuery.