JSON_DATAGUIDE |
Guide de données JSON |
| Oracle Database SQL |
Oracle 12c Release 2 (12.2) ou supérieure |
Syntaxe
|
JSON_DATAGUIDE (column_name)
|
Paramètres
| Nom |
Description |
| column_name |
Ce paramètre permet d'indiquer la colonne contenant les documents JSON à analyser. La fonction examine le contenu JSON de cette colonne pour en extraire automatiquement un guide de données, qui décrit la structure, les chemins d'accès aux champs, ainsi que les types de données rencontrés pour chaque élément. |
Description
Cette fonction permet de générer dynamiquement un guide de données JSON à partir d'un document JSON existant. Elle identifie la structure des données et les types de chaque champ.
Remarques
- Exploration automatisée de documents JSON : La fonction JSON_DATAGUIDE permet d'examiner le contenu de documents JSON
entreposés dans une colonne d'une table. Elle en extrait dynamiquement la structure hiérarchique, identifiant les chemins des clefs et sous-clefs. Cela facilite l'analyse de
documents JSON lorsque leur structure n'est pas connue à l'avance ou lorsqu'elle est susceptible de varier.
- Production d'un schéma JSON implicite : Bien que les documents JSON soient généralement non typés et
flexibles, JSON_DATAGUIDE permet de créer une sorte de schéma implicite. Ce guide contient des informations sur le type de chaque valeur (chaîne, nombre, booléen, objet,
tableau.), ce qui est essentiel pour automatiser des traitements, créer des index, ou valider des données.
- Utile pour la documentation des structures JSON : En environnement de production, les structures de données JSON
évoluent souvent. Utiliser JSON_DATAGUIDE sur un échantillon ou une table complète permet de documenter rapidement les champs réellement présents, ainsi que leur fréquence
ou type. Cela permet aux développeurs et DBA de mieux comprendre les données sans devoir inspecter manuellement de grands volumes.
- Optimisation des performances via les index JSON : Le guide de données généré par cette fonction peut être utilisé en complément pour créer des index
JSON path. Cela permet à Oracle de cibler précisément les chemins dans les documents, rendant les requêtes plus performantes. En d'autres termes, JSON_DATAGUIDE peut servir
d'étape préparatoire à l'indexation structurée.
- Compatible avec les fonctions de traitement JSON : Les résultats retournés par JSON_DATAGUIDE sont eux-mêmes au format JSON.
Ils peuvent donc être exploités immédiatement dans d'autres fonctions SQL/JSON d'Oracle, comme JSON_TABLE, JSON_QUERY ou JSON_VALUE. Cela permet de chaîner des traitements
sophistiqués à partir de la structure détectée.
- Adaptée aux ensembles de données dynamiques ou externes : Lorsqu'on importe des données JSON depuis des
systèmes tiers ou des APIs, la structure n'est pas toujours stable. Grâce à JSON_DATAGUIDE, on peut automatiquement analyser ces documents sans présupposer de leur
organisation interne, ce qui facilite les phases de nettoyage ou de transformation.
- Gestion des données semi-structurées en base relationnelle : JSON_DATAGUIDE s'inscrit dans la stratégie d'Oracle visant à intégrer des données
semi-structurées (comme JSON) dans des systèmes relationnels classiques. Elle sert de passerelle entre la nature libre du JSON et les exigences structurées du SQL, en
fournissant un aperçu typé exploitable dans des requêtes traditionnelles.
- Outil précieux pour les tests et la validation : Dans les phases de développement, JSON_DATAGUIDE est utile pour vérifier que les documents
JSON insérés correspondent bien aux spécifications attendues. On peut ainsi repérer des champs manquants, mal orthographiés ou
mal typés, avant qu'ils ne perturbent le traitement en production.
- Fonction adaptée aux projets d'intégration ou de migration : Lorsqu'on migre des données d'un format non relationnel (comme
MongoDB) vers Oracle, ou qu'on intègre des données hétérogènes, cette fonction permet de cartographier rapidement les structures
contenues dans les documents. Cela aide à concevoir les schémas cibles ou à définir les règles de conversion.
- Supporte la complexité des structures imbriquées : JSON_DATAGUIDE détecte non seulement les champs simples, mais aussi les objets imbriqués et les
tableaux. Elle expose les chemins complets sous forme de $.chemin.exact, ce qui permet d'identifier précisément l'emplacement des données même profondément nichées.
- Utilisation simple mais puissance analytique élevée : Sa syntaxe minimaliste - un seul paramètre, la colonne cache une grande puissance. Elle permet à
n'importe quel analyste SQL de comprendre une structure JSON sans utiliser d'outil externe, d'autant plus qu'elle s'exécute sur tout un ensemble de lignes, et non sur
un seul document à la fois.
- Base pour des extractions ciblées avec JSON_TABLE : Une fois que JSON_DATAGUIDE a révélé les chemins et les types des données, il devient beaucoup plus simple
de construire une requête JSON_TABLE. En effet, cette dernière nécessite de spécifier des chemins précis, ce qui serait risqué sans connaître à l'avance la structure des
documents.
Dernière mise à jour : Dimanche, le 29 Juin 2025