Partager via


Intégration de GitHub Copilot dans le Concepteur de schémas (préversion)

Le Concepteur de schémas dans l’extension MSSQL pour Visual Studio Code inclut l’intégration de GitHub Copilot, afin de pouvoir concevoir, modifier et valider des schémas de base de données à l’aide du langage naturel. Décrivez ce dont vous avez besoin dans le volet de conversation, et GitHub Copilot traduit vos demandes en actions de schéma reflétées dans le canevas du diagramme visuel, le T-SQL généré et la surbrillance des changements.

Capture d’écran du Concepteur de schémas avec le panneau de conversation GitHub Copilot ouvert dans Visual Studio Code.

Conseil / Astuce

L’intégration de GitHub Copilot dans schema Designer est actuellement en préversion et peut changer en fonction des commentaires. Rejoignez la communauté dans GitHub Discussions pour partager des idées ou signaler des problèmes.

Fonctionnalités

L’intégration de GitHub Copilot dans le Concepteur de schémas offre les fonctionnalités suivantes :

  • Créez des schémas de base de données à partir de descriptions de langage naturel, avec des tables, des colonnes et des relations générées automatiquement.
  • Faites évoluer les schémas existants en ajoutant, en modifiant ou en supprimant des tables et des colonnes via des invites conversationnelles.
  • Passez en revue les modifications proposées individuellement par le biais d’un flux de révision des modifications guidé, avec la possibilité d’accepter ou d’annuler chaque modification.
  • Visualisez une différence de schéma affichant toutes les modifications en attente avant qu'elles ne soient appliquées à la base de données.
  • Schémas d’application bootstrap sur une base de données vide à l’aide d’une invite de langage naturel unique.
  • Importez des artefacts externes tels que des données JSON, des documents ou des images et générez des éléments de schéma à partir d’eux.
  • Validez les modifications de schéma avec des garde-fous pour les clés primaires manquantes, les types de données non valides et les problèmes de normalisation.

Prerequisites

Avant d’utiliser GitHub Copilot dans le Concepteur de schémas, vérifiez que les conditions suivantes sont remplies :

Ouvrir le concepteur de schémas avec GitHub Copilot

Vous pouvez ouvrir le Concepteur de schémas avec GitHub Copilot à partir de deux points d’entrée :

  1. Dans l’Explorateur d’objets de l’extension MSSQL, cliquez avec le bouton droit sur un nœud de base de données.

  2. Sélectionnez Le Concepteur de schémas dans le menu contextuel.

    Capture d’écran du menu contextuel sur un nœud de base de données montrant l’option Concepteur de Schémas.

  3. Lorsque le canevas du Concepteur de schémas s’ouvre avec votre schéma de base de données chargé, sélectionnez le bouton Conversation (avec l’icône GitHub Copilot) dans la barre d’outils du Concepteur de schémas pour ouvrir une session de conversation Copilot GitHub limitée au contexte de schéma actuel.

Conseil / Astuce

Vous pouvez également cliquer avec le bouton droit sur un nœud de base de données et sélectionner Ouvrir en mode Agent Copilot pour démarrer une session de conversation de l’agent Copilot GitHub. En mode agent, vous pouvez demander à GitHub Copilot d’ouvrir le Concepteur de schémas pour vous, par exemple : "Open schema designer for AdventureWorksLT2022". Pour plus d’informations, consultez Démarrage rapide : Utiliser le mode agent Copilot GitHub.

Créer un schéma avec un langage naturel

Lorsque vous ouvrez le panneau de conversation GitHub Copilot dans le Concepteur de schémas, vous pouvez décrire un schéma en anglais brut et le voir affiché dans le diagramme visuel.

  1. Tapez une description du langage naturel du schéma que vous souhaitez créer dans le volet de conversation.

  2. GitHub Copilot génère les tables, les colonnes, les clés primaires et les relations de clé étrangère en fonction de votre description.

  3. Regardez le canevas du diagramme visuel à mesure qu’il est mis à jour en temps réel pour refléter le schéma généré.

Voici quelques exemples de commandes que vous pouvez essayer :

  • "Build a library management system with tables for Books, Authors, Members, and BookLoans"
  • "Design an e-commerce schema with Products, Categories, Orders, OrderItems, and Customers"
  • "Create a blog platform with Users, Posts, Comments, and Tags with many-to-many relationships"

Capture d’écran de GitHub Copilot générant des modifications de schéma dans le Concepteur de schémas avec la mise à jour du diagramme visuel.

Faire évoluer un schéma existant

À partir d’un schéma existant, utilisez GitHub Copilot pour l’évoluer en ajoutant, en modifiant ou en supprimant des tables et des colonnes. Le diagramme, le code et les vues diff reflètent toutes ces modifications en direct.

Voici quelques exemples pour l'évolution du schéma :

  • "Add a description column of type NVARCHAR(500) to the Books table"
  • "Remove the ratings table from the schema"
  • "Rename the 'NumberOfPages' column in the Books table to 'PageCount'"
  • "Add booking/reservation support to this app schema"
  • "Change the data type of the Price column in Products from INT to DECIMAL(10,2)"

Le diagramme visuel est mis à jour lorsque vous appliquez une modification. Les ajouts de colonnes apparaissent dans la carte de tableau correcte. Les éléments supprimés disparaissent du diagramme. Le processus conserve toutes les relations.

Passer en revue les modifications de schéma

Après avoir apporté des modifications de schéma via GitHub Copilot ou l’interface utilisateur, passez en revue toutes les modifications en attente avant de les appliquer à la base de données.

Vue des différences de schéma

Sélectionnez le bouton Afficher les modifications dans la barre d’outils du Concepteur de schémas pour ouvrir l’affichage différentiel. La vue des différences s’affiche :

  • Ajout d’objets, tels que des tables, des colonnes et des clés étrangères, clairement marqués comme Ajoutés.
  • Objets marqués comme Supprimés ont été supprimés.
  • Objets modifiés montrant avant et après les valeurs pour le type de données, la nullabilité, l’identité, les valeurs par défaut et les indicateurs de clé.
  • Noms qualifiés de schéma pour tous les objets, tels que schema.table et schema.column.
  • Option Annuler qui s’affiche lorsque vous pointez sur des modifications individuelles.

Capture d’écran de la vue de différences de schéma montrant les objets de schéma ajoutés, supprimés et modifiés.

Révision des modifications de GitHub Copilot

Lorsque GitHub Copilot applique plusieurs modifications de schéma, il démarre automatiquement la révision Modifications Copilot. Ce flux guidé vous montre chaque modification proposée par l’IA afin de pouvoir les passer en revue un par un :

  1. Avancer et reculer entre les changements.
  2. Sélectionnez Accepter pour conserver une modification ou Annuler pour le rétablir.
  3. Sélectionnez le badge de propriété sur une carte de modification pour afficher les valeurs détaillées avant et après.

Capture d’écran du flux de révision des modifications De GitHub Copilot avec des boutons Accepter et Annuler pour chaque modification de schéma.

Sélectionnez le badge de propriété sur une carte de modification pour afficher les valeurs détaillées avant et après chaque propriété modifiée :

Capture d’écran d’un détail de carte de modification montrant avant et après les valeurs d’une propriété de schéma modifiée.

Démarrage d’un schéma à partir de zéro

GitHub Copilot peut générer des schémas d’application complets. Sur une base de données vide, ouvrez le Concepteur de schémas avec le panneau de conversation GitHub Copilot et décrivez un concept d’application. GitHub Copilot génère le modèle de données, notamment les tables, les colonnes, les clés primaires, les clés étrangères et les relations.

Voici quelques exemples de déclencheurs pour l'initialisation du schéma :

  • "Build a Twitter clone schema from scratch"
  • "Create a blog platform schema with users, posts, comments, and tags"
  • "Design an inventory management system with warehouses, products, stock levels, and suppliers"
  • "Generate a restaurant reservation system with tables for restaurants, menus, customers, and reservations"

Une fois que GitHub Copilot génère le schéma initial, vous pouvez continuer à l’évoluer avec des invites de suivi telles que "Add a comments feature to this blog platform" ou "Add direct messaging to this Twitter clone".

Importer des artefacts externes

GitHub Copilot peut accepter un contexte externe pour générer ou aider à la conception de schémas. Les entrées prises en charge incluent des données JSON, des documents, des images ou tout format pris en charge par GitHub Copilot.

Voici quelques exemples d'invitations pour importer des éléments externes :

  • "Import this JSON and model it as tables" suivi d’une charge utile JSON
  • "I have this API response format, create tables to store this data" suivi d’un exemple de réponse JSON
  • Joignez un document ou une image et demandez : "Create a schema based on this document"

Les objets imbriqués dans JSON sont modélisés en tant que tables associées distinctes. Le Concepteur de schémas déduit les types de données de l’entrée et crée des relations de clé étrangère pour les structures imbriquées.

Capture d’écran de GitHub Copilot qui importe une charge utile JSON et génère des tables dans le diagramme du Concepteur de schémas.

Validation et garde-fous

À mesure que les schémas évoluent, GitHub Copilot valide les modifications et soulève des problèmes potentiels inline. Les vérifications de validation sont les suivantes :

  • Clés primaires manquantes sur les tables.
  • Types de données non valides ou non pris en charge pour la plateforme SQL Server cible.
  • Problèmes de normalisation tels que les groupes répétés stockés dans une seule colonne.
  • Noms de colonnes en double dans la même table.
  • Références de clé étrangère à des tables ou colonnes inexistantes.

GitHub Copilot explique les problèmes détectés en ligne et suggère des actions correctives avant de continuer avec les modifications demandées.

Limites

  • État de session de conversation : les sessions de conversation ne conservent pas l’historique lorsque vous changez de contexte de base de données. Un nouveau contexte réinitialise la mémoire de conversation.
  • Connexion de base de données active requise : vous avez besoin d’une connexion de base de données active via l’extension MSSQL pour charger et modifier des schémas. Lorsque vous utilisez GitHub Copilot en mode agent, l’agent peut configurer la connexion pour vous.
  • La sortie générée par l’IA doit être examinée : GitHub Copilot peut suggérer des recommandations de schéma incorrectes ou non optimales. Passez toujours en revue les modifications de schéma et SQL générées avant de publier sur votre base de données.

Commentaires et support

Si vous avez des idées, des commentaires ou souhaitez vous engager avec la communauté, rejoignez la discussion à l’adresse https://aka.ms/vscode-mssql-discussions. Pour signaler un bogue, visitez https://aka.ms/vscode-mssql-bug. Pour demander une nouvelle fonctionnalité, accédez à https://aka.ms/vscode-mssql-feature-request.