Article de reference

Données semi-structurées

Les données semi-structurées sont une forme de données structurées qui n'obéissent pas à la structure tabulaire des modèles de données associés aux bases de données relationnell...

Les données semi-structurées sont une forme de données structurées qui n'obéissent pas à la structure tabulaire des modèles de données associés aux bases de données relationnelles ou à d'autres formes de tables de données , mais qui contiennent néanmoins des balises ou d'autres marqueurs pour séparer les éléments sémantiques et renforcer les hiérarchies d'enregistrements et de champs au sein des données. Par conséquent, elles sont également connues sous le nom de structure autodescriptive .

Dans les données semi-structurées, les entités appartenant à la même classe peuvent avoir des attributs différents même si elles sont regroupées, et l'ordre des attributs n'est pas important.

Les données semi-structurées sont de plus en plus utilisées depuis l'avènement d' Internet , où les documents en texte intégral et les bases de données ne sont plus les seules formes de données et où différentes applications ont besoin d'un support pour échanger des informations . Dans les bases de données orientées objet , on trouve souvent des données semi-structurées.

Types

XML

XML , d'autres langages de balisage, le courrier électronique et l'EDI sont tous des formes de données semi-structurées. L'OEM (Object Exchange Model) a été créé avant XML comme moyen d'auto-description d'une structure de données. XML a été popularisé par les services Web développés à l'aide des principes SOAP .

Certains types de données décrits ici comme « semi-structurés », notamment XML, souffrent de l'impression qu'ils ne sont pas capables de faire preuve de la même rigueur structurelle au niveau fonctionnel que les tables et les lignes relationnelles. En effet, la vision du XML comme étant intrinsèquement semi-structuré (auparavant, il était qualifié de « non structuré ») a handicapé son utilisation pour un éventail de plus en plus large d'applications centrées sur les données. Même les documents, normalement considérés comme l'incarnation de la semi-structure, peuvent être conçus avec pratiquement la même rigueur que le schéma de base de données , appliqué par le schéma XML et traité par des logiciels commerciaux et personnalisés sans réduire leur facilité d'utilisation par les lecteurs humains.

Compte tenu de ce fait, XML peut être considéré comme ayant une « structure flexible » capable d'un flux et d'une hiérarchie centrés sur l'humain ainsi que d'une structure d'éléments et d'un typage de données extrêmement rigoureux.

Le concept de XML comme « lisible par l'homme » ne peut cependant pas être appliqué plus loin. Certaines implémentations/dialectes de XML, comme la représentation XML du contenu d'un document Microsoft Word, telle qu'implémentée dans Office 2007 et les versions ultérieures, utilisent des dizaines voire des centaines de types différents de balises qui reflètent un domaine de problème particulier (dans le cas de Word, le formatage au niveau des caractères, des paragraphes et du document, les définitions de styles, l'inclusion de citations, etc.) qui sont imbriquées les unes dans les autres de manière complexe. Comprendre ne serait-ce qu'une partie d'un tel document XML en le lisant, sans parler de détecter des erreurs dans sa structure, est impossible sans une compréhension préalable très approfondie de l'implémentation XML spécifique, ainsi que l'assistance d'un logiciel qui comprend le schéma XML qui a été utilisé. Un tel texte n'est pas plus « compréhensible par l'homme » qu'un livre écrit en swahili (qui utilise l'alphabet latin) ne le serait pour un Américain ou un Européen de l'Ouest qui ne connaît pas un mot de cette langue : les balises sont des symboles qui n'ont aucune signification pour une personne qui n'est pas familière avec le domaine.

JSON

JSON ou JavaScript Object Notation, est un format standard ouvert qui utilise du texte lisible par l'homme pour transmettre des objets de données. JSON a été popularisé par les services Web développés en utilisant les principes REST .

Les bases de données telles que MongoDB et Couchbase stockent les données de manière native au format JSON, tirant parti des avantages de l'architecture de données semi-structurée.

Avantages et inconvénients

Avantages

  • Les programmeurs qui conservent des objets de leur application dans une base de données n'ont pas à s'inquiéter de l'inadéquation de l'impédance objet-relationnelle , mais peuvent souvent sérialiser des objets via une bibliothèque légère.
  • La prise en charge des données imbriquées ou hiérarchiques simplifie souvent les modèles de données représentant des relations complexes entre les entités.
  • La prise en charge des listes d’objets simplifie les modèles de données en évitant les traductions compliquées de listes dans un modèle de données relationnelles.

Inconvénients

  • Le modèle de données relationnelles traditionnel dispose d'un langage de requête populaire et prêt à l'emploi, SQL .
  • Sujet au phénomène de « garbage in, garbage out » ; en supprimant les contraintes du modèle de données, il y a moins de réflexion préalable nécessaire pour exploiter une application de données.

Modèle semi-structuré

Le modèle semi-structuré est un modèle de base de données dans lequel il n'y a pas de séparation entre les données et le schéma , et la quantité de structure utilisée dépend de l'objectif.

Les avantages de ce modèle sont les suivants :

  • Il peut représenter les informations de certaines sources de données qui ne peuvent pas être contraintes par un schéma.
  • Il fournit un format flexible pour l'échange de données entre différents types de bases de données.
  • Il peut être utile de visualiser les données structurées comme semi-structurées (à des fins de navigation).
  • Le schéma peut être facilement modifié.
  • Le format de transfert de données peut être portable.

Le principal inconvénient de l'utilisation d'un modèle de base de données semi-structuré est que les requêtes ne peuvent pas être effectuées aussi efficacement que dans une structure plus restreinte, comme dans le modèle relationnel . En général, les enregistrements d'une base de données semi-structurée sont stockés avec des identifiants uniques référencés par des pointeurs vers leur emplacement sur le disque. Cela rend les requêtes de navigation ou basées sur des chemins assez efficaces, mais pour effectuer des recherches sur de nombreux enregistrements (comme c'est généralement le cas dans SQL ), elles ne sont pas aussi efficaces car elles doivent parcourir le disque en suivant des pointeurs.

L' Object Exchange Model (OEM) est une norme permettant d'exprimer des données semi-structurées, une autre façon est XML .

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index