Modèles semi-structurés et de documents
Les modèles de données semi-structurés et de documents représentent les données comme des arbres ou des objets imbriqués auto-descriptifs et de structure irrégulière — comme dans XML et JSON — où la structure est portée avec les données plutôt que fixée par un schéma rigide.
Definition
Les données semi-structurées sont des données qui possèdent une certaine structure organisationnelle mais ne se conforment pas à un schéma fixe, généralement modélisées comme des arbres étiquetés ou des objets clé-valeur imbriqués ; les modèles de documents stockent ces données sous forme de documents autonomes (couramment JSON ou XML) plutôt que comme des lignes dans des tables fixes.
Scope
Ce sujet couvre les modèles de données qui assouplissent l'exigence relationnelle d'un schéma uniforme : les données semi-structurées en forme d'arbres et de graphes, XML avec ses DTD et schémas, et les modèles de documents basés sur JSON utilisés par les bases de données document. Il aborde l'imbrication, les champs optionnels et répétés, la flexibilité des schémas, et les langages de requête orientés chemin et arbre (tels que XPath et XQuery) qui opèrent sur eux. Il exclut l'ingénierie plus large des systèmes NoSQL et les modèles de cohérence, qui sont traités dans le domaine du big data et NoSQL.
Core questions
- En quoi les données auto-descriptives et à schéma flexible diffèrent-elles des tables relationnelles rigides ?
- Comment XML et JSON sont-ils utilisés pour représenter des données imbriquées et irrégulières ?
- Quel rôle jouent les schémas optionnels (DTD, XML Schema, JSON Schema) ?
- Comment les langages de requête basés sur les chemins et les arbres, tels que XPath et XQuery, naviguent-ils dans les données ?
- Quels sont les compromis des modèles de documents par rapport au modèle relationnel ?
Key concepts
- données semi-structurées (arbre/graphe)
- XML et DTD/XML Schema
- JSON et bases de données document
- champs imbriqués et répétés
- schéma à la lecture (schema-on-read) versus schéma à l'écriture (schema-on-write)
- XPath et XQuery
- données auto-descriptives
- évolution du schéma
Key theories
- Données auto-descriptives structurées en arbre
- Les données semi-structurées sont modélisées comme des arbres ou des graphes étiquetés dans lesquels la structure est encodée avec les valeurs, permettant des champs manquants, optionnels et hétérogènes sans schéma prédéfini.
- Flexibilité du schéma versus application du schéma
- Les modèles de documents et semi-structurés échangent l'intégrité et les garanties de requête d'un schéma fixe contre la flexibilité et la facilité d'évolution, validant éventuellement par rapport à des schémas tels que XML Schema ou JSON Schema lorsque des garanties plus fortes sont nécessaires.
- Requêtes basées sur les chemins
- Des langages tels que XPath et XQuery sélectionnent et transforment des parties de documents structurés en arbre en naviguant par des chemins et des motifs, offrant un modèle de requête adapté aux données imbriquées et irrégulières.
Clinical relevance
Les modèles semi-structurés et de documents sont à la base de l'échange de données web et du développement d'applications modernes : XML et JSON sont les formats dominants pour les API, la configuration et la messagerie, et les bases de données document stockent des données flexibles et évolutives pour les systèmes web, mobiles et de gestion de contenu où des schémas relationnels rigides seraient lourds.
History
Les données semi-structurées sont apparues dans les années 1990 pour décrire des données web et d'intégration hétérogènes qui ne correspondaient pas à des schémas fixes. XML est devenu une norme du W3C en 1998 avec les langages de requête associés XPath et XQuery ; JSON est ensuite devenu le format de facto léger pour les API web, et les bases de données document ont popularisé le stockage direct des documents JSON, ravivant et étendant la tradition semi-structurée.
Key figures
- Serge Abiteboul
- Peter Buneman
- Dan Suciu
Related topics
Seminal works
- abiteboul2000
- garciamolina2008
Frequently asked questions
- Un modèle de document est-il équivalent à l'absence de schéma ?
- Pas exactement. Les modèles de documents sont flexibles en matière de schéma plutôt que sans schéma : les documents individuels portent leur propre structure, et des schémas optionnels (tels que JSON Schema ou XML Schema) peuvent être appliqués pour la validation. La différence avec le modèle relationnel est que la structure n'est pas requise d'être uniforme pour tous les enregistrements.
- Quand les modèles de documents sont-ils préférables aux tables relationnelles ?
- Les modèles de documents conviennent aux données naturellement imbriquées, hétérogènes ou en évolution rapide — telles que les profils d'utilisateurs, les entrées de catalogue ou les événements journalisés — où imposer un schéma de table uniforme serait maladroit. Les modèles relationnels restent préférables lorsque les données sont régulières et que des garanties d'intégrité solides sur plusieurs enregistrements et des jointures complexes sont nécessaires.