Compartilhar via


Integração do GitHub Copilot no Designer de Esquema (versão prévia)

O Designer de Esquema na extensão MSSQL para Visual Studio Code inclui a integração do GitHub Copilot, para que você possa projetar, modificar e validar esquemas de banco de dados usando linguagem natural. Descreva o que você precisa no painel de chat e o GitHub Copilot converte suas solicitações em ações de esquema refletidas na tela do diagrama visual, no T-SQL gerado e nos realces de alteração.

Captura de tela do Designer de Esquema com o painel de chat do GitHub Copilot aberto no Visual Studio Code.

Dica

A integração do GitHub Copilot no Designer de Esquema está atualmente em versão prévia e pode ser alterada com base nos comentários. Junte-se à comunidade no GitHub Discussions para compartilhar ideias ou relatar problemas.

Características

A integração do GitHub Copilot no Designer de Esquema oferece estes recursos:

  • Crie esquemas de banco de dados a partir de descrições de linguagem natural, com tabelas, colunas e relações geradas automaticamente.
  • Evolua os esquemas existentes adicionando, modificando ou removendo tabelas e colunas por meio de prompts conversacionais.
  • Examine as alterações propostas pela IA individualmente por meio de um fluxo de revisão de alterações guiado, com a capacidade de aceitar ou desfazer cada edição.
  • Exiba as diferenças no esquema que mostram todas as alterações pendentes antes de serem aplicadas ao banco de dados.
  • Inicializar esquemas de aplicativos em uma base de dados vazia usando uma única solicitação em linguagem natural.
  • Importe artefatos externos, como dados JSON, documentos ou imagens, e gere elementos de esquema deles.
  • Valide as alterações de esquema com guardrails para chaves primárias ausentes, tipos de dados inválidos e problemas de normalização.

Pré-requisitos

Antes de usar o GitHub Copilot no Designer de Esquema, verifique se os seguintes requisitos são atendidos:

Abrir o Designer de Esquema com o GitHub Copilot

Você pode abrir o Designer de Esquema com o GitHub Copilot de dois pontos de entrada:

  1. No Pesquisador de Objetos da extensão MSSQL, clique com o botão direito do mouse em um nó de banco de dados.

  2. Selecione Schema Designer no menu de contexto.

    Captura de tela do menu de contexto com o botão direito do mouse em um nó de banco de dados mostrando a opção Schema Designer.

  3. Quando a tela do Designer de Esquema for aberta com o esquema de banco de dados carregado, selecione o botão Chat (com o ícone do GitHub Copilot) na barra de ferramentas do Designer de Esquema para abrir uma sessão de chat do GitHub Copilot com escopo para o contexto atual do esquema.

Dica

Você também pode clicar com o botão direito do mouse em um nó de banco de dados e selecionar Abrir no modo Copilot Agent para iniciar uma sessão de chat do agente do GitHub Copilot. No modo de agente, você pode pedir ao GitHub Copilot para abrir o Designer de Esquema para você, por exemplo: "Open schema designer for AdventureWorksLT2022". Para obter mais informações, consulte Início Rápido: Usar o Modo do Agente Copilot do GitHub.

Criar um esquema com linguagem natural

Ao abrir o painel de chat do GitHub Copilot no Designer de Esquema, você pode descrever um esquema em inglês sem formatação e vê-lo renderizado no diagrama visual.

  1. Digite uma descrição de linguagem natural do esquema que você deseja criar no painel de chat.

  2. O GitHub Copilot gera as tabelas, colunas, chaves primárias e relações de chave estrangeira com base em sua descrição.

  3. Observe o canvas do diagrama visual conforme ele é atualizado em tempo real para refletir o esquema gerado.

Aqui estão alguns exemplos de prompt que você pode tentar:

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

Captura de tela do GitHub Copilot gerando alterações de esquema no Designer de Esquema com a atualização do diagrama visual.

Desenvolver um esquema existente

A partir de um esquema existente, use o GitHub Copilot para evoluí-lo adicionando, modificando ou removendo tabelas e colunas. As visualizações de diagrama, código e de diferença refletem essas alterações em tempo real.

Aqui estão alguns exemplos de prompt para evolução do esquema:

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

O diagrama visual é atualizado quando você aplica uma alteração. As adições de coluna aparecem no cartão de tabela correto. Elementos removidos desaparecem do diagrama. O processo preserva todas as relações.

Examinar as alterações de esquema

Depois de fazer edições de esquema por meio do GitHub Copilot ou da interface do usuário, examine todas as alterações pendentes antes de aplicá-las ao banco de dados.

Exibição de diferenciação de esquema

Selecione o botão Mostrar Alterações na barra de ferramentas do Designer de Esquema para abrir o modo de exibição de diferenciação. A visão de diferença é exibida:

  • Objetos adicionados, como tabelas, colunas e chaves estrangeiras, claramente marcados como Adicionados.
  • Objetos removidos marcados como Removidos.
  • Objetos modificados mostrando valores anteriores e posteriores para tipo de dados, nulidade, identidade, valores padrão e sinalizadores de chave.
  • Nomes qualificados por esquema para todos os objetos, como schema.table e schema.column.
  • Uma opção Desfazer que aparece ao passar o mouse sobre alterações individuais.

Captura de tela da exibição de diferenciação de esquema mostrando objetos de esquema adicionados, removidos e modificados.

Revisão de alterações do GitHub Copilot

Quando o GitHub Copilot aplica várias edições de esquema, ele inicia automaticamente a revisão Copilot Changes. Este fluxo guiado mostra cada edição proposta por IA para que você possa revisá-las uma a uma:

  1. Vá para frente e para trás entre as alterações.
  2. Selecione Aceitar para manter uma alteração ou Desfazer para revertê-la.
  3. Selecione o selo de propriedade em um cartão de alteração para exibir valores detalhados antes e depois.

Captura de tela do fluxo de revisão de alterações do GitHub Copilot com os botões Aceitar e Desfazer para cada alteração de esquema.

Selecione o selo de propriedade em um cartão de alteração para exibir valores detalhados antes e depois de cada propriedade modificada:

Captura de tela de um detalhe de cartão de alteração mostrando valores antes e depois de uma propriedade de esquema modificada.

Inicializar um esquema do zero

O GitHub Copilot pode gerar esquemas de aplicativo completos. Em um banco de dados vazio, abra o Designer de Esquema com o painel de chat do GitHub Copilot e descreva um conceito de aplicativo. O GitHub Copilot cria o modelo de dados, incluindo tabelas, colunas, chaves primárias, chaves estrangeiras e relações.

Aqui estão alguns exemplos de mensagens para inicialização de esquemas:

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

Depois que o GitHub Copilot gerar o esquema inicial, você poderá continuar evoluindo com prompts de acompanhamento, como "Add a comments feature to this blog platform" ou "Add direct messaging to this Twitter clone".

Importar artefatos externos

O GitHub Copilot pode aceitar o contexto externo para gerar ou informar o esquema de design. A entrada com suporte inclui dados JSON, documentos, imagens ou qualquer formato compatível com o GitHub Copilot.

Aqui estão alguns exemplos de prompts para importar artefatos externos:

  • "Import this JSON and model it as tables" seguido por um payload JSON
  • "I have this API response format, create tables to store this data" seguido por uma resposta JSON de exemplo
  • Anexe um documento ou imagem e pergunte: "Create a schema based on this document"

Objetos aninhados no JSON são modelados como tabelas relacionadas separadas. O Designer de Esquema infere tipos de dados da entrada e cria relações de chave estrangeira para estruturas aninhadas.

Captura de tela do GitHub Copilot importando um conteúdo JSON e gerando tabelas no diagrama do Designer de Esquema.

Validação e barreiras de proteção

À medida que os esquemas evoluem, o GitHub Copilot valida as alterações e sinaliza possíveis problemas diretamente. As verificações de validação incluem:

  • Chaves primárias ausentes em tabelas.
  • Tipos de dados inválidos ou sem suporte para a plataforma SQL Server de destino.
  • Problemas de normalização, como grupos repetidos armazenados em uma única coluna.
  • Nomes de coluna duplicados na mesma tabela.
  • Referências de chave estrangeira a tabelas ou colunas inexistentes.

O GitHub Copilot explica os problemas detectados diretamente no contexto e sugere ações corretivas antes de prosseguir com as alterações solicitadas.

Limitações

  • Estado da sessão de chat: as sessões de chat não mantêm o histórico quando você alterna o contexto do banco de dados. Um novo contexto redefine a memória do chat.
  • Conexão de banco de dados ativa necessária: você precisa de uma conexão de banco de dados ativa por meio da extensão MSSQL para carregar e modificar esquemas. Quando você usa o GitHub Copilot no modo de agente, o agente pode configurar a conexão para você.
  • A saída gerada por IA deve ser revisada: o GitHub Copilot pode sugerir recomendações de esquema incorretas ou abaixo do ideal. Sempre examine o SQL gerado e as alterações de esquema antes de publicar em seu banco de dados.

Feedback e suporte

Se você tiver ideias, comentários ou quiser se envolver com a comunidade, participe da discussão em https://aka.ms/vscode-mssql-discussions. Para relatar um bug, visite https://aka.ms/vscode-mssql-bug. Para solicitar um novo recurso, vá para https://aka.ms/vscode-mssql-feature-request.