SQL Server 2016 : Les nouveautés

Découvrir l'intégration de JSON

Testez gratuitement nos 1257 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
L'intégration de JSON dans SQL Server 2016 vous permet de manipuler des documents JSON et d'extraire le résultat d'une requête en JSON.
06:48

Transcription

Une nouveauté importante dans SQL server 2016 c'est le support complet, on va dire, de Json Javascript Object Notation. Vous connaissez certainement le Json, c'est un format qui a pris le pas sur le XML pour la sérialisation de classe, pour l'échange de données structurées avec des applications comme ce qu'on appelle le « Reste », l'échange de ressources à travers du http, ou des bases de données orientées document comme Mongodb, par exemple, qui stoque nativement du Json. Donc, le Json c'est simplement du texte comme ceci structuré avec des paires clé et valeur. Ici j'ai une clé qui représente une valeur complexe qui est un sous document ou bien une paire clé/valeur simple. Et le Json comporte des types de données simples également. Type de données « date », « numérique » et « chaine de caractère ». L'idée pour SQL server c'est de faire un peu comme avec XML. C'est-à-dire avoir un support à la fois en parsing, donc en lecture et en écriture du Json. Mais contrairement au XML qui est un format beaucoup plus complex avec des parseurs, avec de la validation, eh bien, il n'y a pas vraiment besoin de disposer d'un type de données Json natif Le Json finalement [inaudible] du texte, il suffit de le stocker dans quelque chose comme du Nvarshar, ici Nvarshar(4000) ou Nvarshar(max). Donc, si vous voulez stocker du Json dans une colonne, il n'y a pas de type de données Json, il n'y a pas vraiment d'indexation spécifique comme il y a pour XML. Vous stockez du Json dans le texte, mais ensuite vous avez des outils integrés à Transact SQL pour le barcer, pour générer du Json à partir d'une requête, et c'est ce qu'on va voir. Premièrement je déclare une variable de type Nvarshar(4000), je mets quelque chose dedans qui est du Json. Et puis je vais utiliser les fonctions à disposition, je vous les montre qu'ils sont ici. Json Value, Json Query qui ressemble un peu à ce qu'on avait comme méthode sur Atypique CML qui était Value et Query. Bien entendu, Json Value va extraire de mon Json, je passe un paramètre, Json sous forme de variable. Ensuite, deuxième paramètre, je donne un chemin très très simple pour dire voilà la racine, et en dessous je prends l'« Inscription » et je prends le « Stage ». Voyez, je n'ai pas vraiment besoin de typer comme dans le value du XML, je n'ai pas vraiment besoin de typer la valeur parce que je vais toujours extraire une chaîne finalement. Mon Json Query ici me permet de retourner une partie de mon document, donc, un sous document, et comme il s'agit de Json Query et non pas de Json Value, eh bien, le contenu retourné va être une chaîne qui contient une partie du Json. Ce n'est pas une valeur scalaire, valeur unique, c'est une partie du document. Par exemple si je récupère l'adresse qui est tout ceci. Vous avez une fonction supplémentaire qui s'appelle IsJson qui vous retourne vrai ou faux, un ou zéro, si ce que vous lui envoyez est quelque chose qui peut être barcé en Json, c'est un format Json valide. On peut dire que si on parle XML, il est bien formé. On essaie. Je dois le reprendre tout ensemble parce que je déclare une variable. Et donc, voilà le résultat. J'ai demandé un Json Value pour le stage, voici le nom du stage. J'ai demandé un Json value pour la langue FR et un Json Query pour toute la partie adresse qui est ici. Et OK état 1 puisque c'est bien du Json valide. Ça, c'est pour la lecture. Vous pouvez faire un peu plus complex en utilisant OpenJson, je vais vous le montrer juste après, mais pour l'écriture, c'est-à-dire pour prendre une requête comme celle-ci par exemple, et en faire du Json. Evidemment comme vous avez la syntaxe For XML historiquement dans SQL server, eh bien, vous avez aussi For Json. Et For Json a été créé pour ressembler à For XML, vous pouvez faire un For Json Auto qui va automatiquement générer un Json On va le voir comme ceci. Je prends la chaîne et je la place ici dans Json formateur, un site, ce qui me permet de formater un peu ça correctement, et voilà le résultat. J'ai mes contacts, mes adresses en dessous parce que la syntaxe de Json Auto a pris par rapport à ma jointure la table mère et puis ensuite table fille, comme ceci. Table Mère contact, ensuite table Fille adresse. et comme j'ai fait un select étoile toutes les colonnes ont été integrées dans mon Json. Je peux si je veux utiliser aussi la syntaxe comme For XML qui est une syntaxe avec Roots pour dire je vais faire une racine, je n'ai pas vraiment besoin de faire ça en Json, mais je commence ici avec un contact, et ensuite j'ai un tableau de contacts en dessous. En tout cas vous avez la souplesse de le faire si vous avez besoin de générer un Json particulier. Comme dans la syntaxe Fro XML vous avez aussi une syntaxe Path. For Json Path vous permet de mieux contrôler le résultat. Ce que je fais ici, c'est que je mets le nom, le prénom, l'email, le contactID sans alias et ils vont donc être ajoutés dans le document, à la racine du document. Mais je vais dire également que l'Adresse1 et l'Adresse2, je vais le placer dans et je le mets en alias Adresse.Adresse1, Adresse.Adresse2. La syntaxe en point, on dit Dotnotation en anglais est très, très simple à contraindre et elle est utilisée ici pour vraiment simplifier la notation. Il n'y a rien de compliqué du tout. Je vais faire une clé adresse et à l'interieur, ça fera un sous document avec Adresse1 et Adresse2. Je monre le résultat. Je reprends. Je vais reprendre ici pour reformater. Vous voyez j'ai contact, nom, prénom, email, adresse et Adresse, Adresse1, il se trouve qu'il y a peu d'Adresse2 dans mes tables. Donc, ils ne seront pas affichés ici, si vous aviez une Adresse2 dans la table Adresse elle apparaîtrait, bien sur, en dessous.

SQL Server 2016 : Les nouveautés

Découvrez les nouveautés de SQL Server 2016. Voyez les options de configuration limitées aux bases de données, le chiffrage de données à partir des applications clientes, etc.

2h26 (27 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !