Freigeben über


GitHub Copilot-Integration in Schema-Designer (Vorschau)

Der Schema-Designer in der MSSQL-Erweiterung für Visual Studio Code umfasst die GitHub Copilot-Integration, sodass Sie Datenbankschemas mit natürlicher Sprache entwerfen, ändern und überprüfen können. Beschreiben Sie, was Sie im Chatbereich benötigen, und GitHub Copilot übersetzt Ihre Anforderungen in Aktivitäten im Schema, die im visuellen Diagrammbereich, im generierten T-SQL und bei Änderungshervorhebungen angezeigt werden.

Screenshot des Schema-Designers, in dem der GitHub Copilot-Chatbereich in Visual Studio Code geöffnet ist.

Tipp

Die GitHub Copilot-Integration in Schema-Designer befindet sich derzeit in der Vorschau und kann sich basierend auf Feedback ändern. Treten Sie der Community bei GitHub-Diskussionen bei, um Ideen zu teilen oder Probleme zu melden.

Funktionen

Die GitHub Copilot-Integration in Schema-Designer bietet folgende Funktionen:

  • Erstellen Sie Datenbankschemas aus Beschreibungen natürlicher Sprache, wobei Tabellen, Spalten und Beziehungen automatisch generiert werden.
  • Entwickeln Sie vorhandene Schemas, indem Sie Tabellen und Spalten durch Unterhaltungsaufforderungen hinzufügen, ändern oder entfernen.
  • Überprüfen Sie KI-vorgeschlagene Änderungen einzeln durch einen geführten Änderungsüberprüfungsprozess, wobei Sie die Möglichkeit haben, jede Bearbeitung anzunehmen oder rückgängig zu machen.
  • Zeigen Sie einen Schema-Diff an, der alle ausstehenden Änderungen anzeigt, bevor sie auf die Datenbank angewendet werden.
  • Bootstrap-Anwendungsschemas in einer leeren Datenbank mithilfe einer einzigen Eingabeaufforderung in natürlicher Sprache.
  • Importieren Sie externe Artefakte wie JSON-Daten, Dokumente oder Bilder, und generieren Sie Schemaelemente daraus.
  • Validieren Sie Schemaänderungen mit Leitplanken für fehlende Primärschlüssel, ungültige Datentypen und Normalisierungsprobleme.

Voraussetzungen

Bevor Sie GitHub Copilot im Schema-Designer verwenden, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind:

Öffnen des Schema-Designers mit GitHub Copilot

Sie können den Schema-Designer mit GitHub Copilot über zwei Einstiegspunkte öffnen:

  1. Klicken Sie im Objekt-Explorer der MSSQL-Erweiterung mit der rechten Maustaste auf einen Datenbankknoten.

  2. Wählen Sie im Kontextmenü den Schema-Designer aus.

    Screenshot des Kontextmenüs bei einem Rechtsklick auf einem Datenbankknoten, das die Option

  3. Wenn die Canvas des Schema-Designers mit geladenem Datenbankschema geöffnet wird, wählen Sie die Schaltfläche "Chat " (mit dem GitHub Copilot-Symbol) in der Schema-Designer-Symbolleiste aus, um eine GitHub Copilot-Chatsitzung mit dem aktuellen Schemakontext zu öffnen.

Tipp

Sie können auch mit der rechten Maustaste auf einen Datenbankknoten klicken und im Copilot-Agent-Modus "Öffnen " auswählen, um eine GitHub Copilot-Agent-Chatsitzung zu starten. Im Agentmodus können Sie GitHub Copilot bitten, den Schema-Designer für Sie zu öffnen, z. B.: "Open schema designer for AdventureWorksLT2022". Weitere Informationen finden Sie in der Schnellstartanleitung: Verwenden des GitHub Copilot-Agent-Modus.

Erstellen eines Schemas mit natürlicher Sprache

Wenn Sie den GitHub Copilot-Chatbereich im Schema-Designer öffnen, können Sie ein Schema in einfachem Englisch beschreiben und im visuellen Diagramm rendern.

  1. Geben Sie eine Beschreibung der natürlichen Sprache des Schemas ein, das Sie im Chatbereich erstellen möchten.

  2. GitHub Copilot generiert die Tabellen, Spalten, Primärschlüssel und Fremdschlüsselbeziehungen basierend auf Ihrer Beschreibung.

  3. Sehen Sie sich die visuelle Diagrammfläche an, während sie in Echtzeit aktualisiert wird, um das generierte Schema widerzuspiegeln.

Hier sind einige Beispiele für Befehle, die Sie ausprobieren können:

  • "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"

Screenshot von GitHub Copilot, der Schemaänderungen im Schema-Designer mit der Aktualisierung des visuellen Diagramms generiert.

Entwickeln eines vorhandenen Schemas

Verwenden Sie ab einem vorhandenen Schema GitHub Copilot, um es zu entwickeln, indem Sie Tabellen und Spalten hinzufügen, ändern oder entfernen. Die Diagramm-, Code- und Diff-Ansichten spiegeln diese Änderungen live wider.

Hier sind einige Eingabeaufforderungsbeispiele für die Schemaentwicklung:

  • "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)"

Das visuelle Diagramm wird aktualisiert, wenn Sie eine Änderung anwenden. Spaltenzufügungen werden auf der richtigen Tabellenkarte angezeigt. Entfernte Elemente verschwinden aus dem Diagramm. Der Prozess behält alle Beziehungen bei.

Überprüfen von Schemaänderungen

Nachdem Sie Schemabearbeitungen über GitHub Copilot oder die Benutzeroberfläche vorgenommen haben, überprüfen Sie alle ausstehenden Änderungen, bevor Sie sie auf die Datenbank anwenden.

Schema-Diff-Ansicht

Wählen Sie die Schaltfläche " Änderungen anzeigen " in der Schema-Designer-Symbolleiste aus, um die Diff-Ansicht zu öffnen. Die Diff-Ansicht zeigt Folgendes an:

  • Hinzugefügte Objekte, z. B. Tabellen, Spalten und Fremdschlüssel, sind eindeutig als "Hinzugefügt" gekennzeichnet.
  • Entfernte Objekte, die als "Entfernt" gekennzeichnet sind.
  • Geänderte Objekte, die Vor- und Nachher-Werte für Datentyp, Nullbarkeit, Identität, Standardwerte und Schlüsselkennzeichnungen anzeigen.
  • Schemaqualifizierte Namen für alle Objekte, z. B. schema.table und schema.column.
  • Eine Rückgängig-Option , die angezeigt wird, wenn Sie auf einzelne Änderungen zeigen.

Screenshot der Schema-Diff-Ansicht mit hinzugefügten, entfernten und geänderten Schemaobjekten.

GitHub Copilot-Änderungsüberprüfung

Wenn GitHub Copilot mehrere Schemabearbeitungen anwendet, wird automatisch die Überprüfung "Copilot Changes " gestartet. Dieser geführte Ablauf zeigt Ihnen jede von der KI vorgeschlagene Bearbeitung, sodass Sie sie einzeln überprüfen können.

  1. Wechseln zwischen den Änderungen vorwärts und rückwärts.
  2. Wählen Sie "Annehmen" aus, um eine Änderung beizubehalten, oder "Rückgängig" , um sie rückgängig zu machen.
  3. Wählen Sie die Eigenschafts-Plakette auf einer Änderungskartenanzeige aus, um detaillierte vorherige und nachfolgende Werte anzuzeigen.

Screenshot des GitHub Copilot-Änderungsüberprüfungsablaufs mit den Schaltflächen

Wählen Sie das Eigenschafts-Badge auf einer Änderungskarte aus, um detaillierte vorherige und nachherige Werte für jede Eigenschaft, die geändert wurde, anzuzeigen.

Screenshot eines Änderungskartendetails mit Vorher- und Nachher-Werten für eine geänderte Schemaeigenschaft.

Aufbau eines Schemas von Grund auf

GitHub Copilot kann vollständige Anwendungsschemas generieren. Öffnen Sie in einer leeren Datenbank den Schema-Designer mit dem GitHub Copilot-Chatpanel, und beschreiben Sie ein Anwendungskonzept. GitHub Copilot erstellt das Datenmodell, einschließlich Tabellen, Spalten, Primärschlüsseln, Fremdschlüsseln und Beziehungen.

Hier sind einige Eingabeaufforderungsbeispiele für das Schema-Bootstrapping:

  • "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"

Nachdem GitHub Copilot das anfängliche Schema generiert hat, können Sie es mit weiteren Eingabeaufforderungen wie "Add a comments feature to this blog platform" oder "Add direct messaging to this Twitter clone" weiterentwickeln.

Importieren externer Artefakte

GitHub Copilot kann externen Kontext akzeptieren, um Schema-Designs zu generieren oder bei der Gestaltung zu unterstützen. Unterstützte Eingaben umfassen JSON-Daten, Dokumente, Bilder oder ein beliebiges Format, das GitHub Copilot unterstützt.

Hier sind einige Eingabeaufforderungsbeispiele für das Importieren externer Artefakte:

  • "Import this JSON and model it as tables" gefolgt von einer JSON-Nutzlast
  • "I have this API response format, create tables to store this data" gefolgt von einer JSON-Beispielantwort
  • Fügen Sie ein Dokument oder Bild an, und fragen Sie Folgendes: "Create a schema based on this document"

Geschachtelte Objekte in JSON werden als separate verknüpfte Tabellen modelliert. Schema-Designer leitet Datentypen aus der Eingabe ab und erstellt Fremdschlüsselbeziehungen für geschachtelte Strukturen.

Screenshot von GitHub Copilot, der eine JSON-Nutzlast importiert und Tabellen im Schema-Designer-Diagramm generiert.

Validierung und Schutzschienen

Während sich Schemas entwickeln, überprüft GitHub Copilot Änderungen und hebt potenzielle Probleme direkt hervor. Überprüfungen umfassen:

  • Fehlende Primärschlüssel in Tabellen.
  • Ungültige oder nicht unterstützte Datentypen für die ZIEL-SQL Server-Plattform.
  • Normalisierungsprobleme wie wiederholte Gruppen, die in einer einzelnen Spalte gespeichert sind.
  • Doppelte Spaltennamen innerhalb derselben Tabelle.
  • Fremdschlüsselverweise auf nicht vorhandene Tabellen oder Spalten.

GitHub Copilot erläutert erkannte Probleme inline und schlägt Korrekturmaßnahmen vor, bevor sie mit den angeforderten Änderungen fortfahren.

Einschränkungen

  • Chatsitzungsstatus: Chatsitzungen behalten den Verlauf nicht bei, wenn Sie den Datenbankkontext wechseln. Ein neuer Kontext setzt den Chatspeicher zurück.
  • Aktive Datenbankverbindung erforderlich: Sie benötigen eine aktive Datenbankverbindung über die MSSQL-Erweiterung, um Schemas zu laden und zu ändern. Wenn Sie GitHub Copilot im Agentmodus verwenden, kann der Agent die Verbindung für Sie einrichten.
  • KI-generierte Ausgabe sollte überprüft werden: GitHub Copilot könnte möglicherweise falsche oder suboptimale Schemaempfehlungen vorschlagen. Überprüfen Sie immer generierte SQL- und Schemaänderungen, bevor Sie sie in Ihrer Datenbank veröffentlichen.

Feedback und Support

Wenn Sie Ideen oder Feedback haben oder sich mit der Community austauschen möchten, nehmen Sie an der Diskussion teil https://aka.ms/vscode-mssql-discussions. Um einen Fehler zu melden, besuchen Sie https://aka.ms/vscode-mssql-bug. Um ein neues Feature anzufordern, wechseln Sie zu https://aka.ms/vscode-mssql-feature-request.