Partilhar via


Integração do GitHub Copilot no Schema Designer (pré-visualização)

O Schema Designer na extensão MSSQL para Visual Studio Code inclui integração com o GitHub Copilot, para que possa desenhar, modificar e validar esquemas de base de dados usando linguagem natural. Descreve o que precisas no painel de chat, e o GitHub Copilot traduz os teus pedidos em ações de esquema refletidas na tela do diagrama visual, no T-SQL gerado e nos destaques de alterações.

Captura de ecrã do Schema Designer com o painel de chat do GitHub Copilot aberto no Visual Studio Code.

Sugestão

A integração do GitHub Copilot no Schema Designer está atualmente em pré-visualização e pode mudar consoante o feedback. Junte-se à comunidade no GitHub Discussions para partilhar ideias ou reportar problemas.

Características

A integração do GitHub Copilot no Schema Designer oferece as seguintes funcionalidades:

  • Crie esquemas de base de dados a partir de descrições em linguagem natural, com tabelas, colunas e relações geradas automaticamente.
  • Evoluir esquemas existentes adicionando, modificando ou removendo tabelas e colunas através de prompts conversacionais.
  • Revise as alterações propostas pela IA individualmente através de um fluxo de revisão guiada, com a capacidade de aceitar ou desfazer cada edição.
  • Veja um diferencial de esquema que mostra todas as alterações pendentes antes de serem aplicadas à base de dados.
  • Bootstrap esquemas de aplicação numa base de dados vazia usando um único prompt em linguagem natural.
  • Importar artefactos externos como dados JSON, documentos ou imagens e gerar elementos de esquema a partir deles.
  • Validar alterações de esquema com limites de segurança para detetar chaves primárias em falta, tipos de dados inválidos e problemas de normalização.

Pré-requisitos

Antes de usar o GitHub Copilot no Schema Designer, certifique-se de que os seguintes requisitos são cumpridos:

Abra o Schema Designer com o GitHub Copilot

Podes abrir o Schema Designer com o GitHub Copilot a partir de dois pontos de entrada:

  1. No Object Explorer da extensão MSSQL, clique com o botão direito num nó da base de dados.

  2. Selecione Schema Designer no menu de contexto.

    Captura de ecrã do menu contextual com o botão direito num nó da base de dados mostrando a opção Schema Designer.

  3. Quando a tela do Schema Designer abrir com o esquema da base de dados carregado, selecione o botão Chat (com o ícone do GitHub Copilot) na barra de ferramentas Schema Designer para abrir uma sessão de chat do GitHub Copilot com âmbito no contexto atual do esquema.

Sugestão

Também pode clicar com o botão direito num nó da base de dados e selecionar Abrir em modo Agente Copilot para iniciar uma sessão de chat de agentes Copilot no GitHub. No modo agente, pode pedir ao GitHub Copilot para abrir o Schema Designer por si, por exemplo: "Open schema designer for AdventureWorksLT2022". Para mais informações, veja Quickstart: Use GitHub Copilot Agent Mode.

Criar um esquema com linguagem natural

Quando abres o painel de chat do GitHub Copilot no Schema Designer, podes descrever um esquema em inglês simples e vê-lo renderizado no diagrama visual.

  1. Escreve uma descrição em linguagem natural do esquema que queres criar no painel de chat.

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

  3. Observe a tela do diagrama visual à medida que se atualiza em tempo real para refletir o esquema gerado.

Aqui ficam alguns exemplos de prompts que pode experimentar:

  • "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 ecrã do GitHub Copilot a gerar alterações de esquema no Schema Designer com a atualização do diagrama visual.

Evoluir um esquema existente

Começando a partir de um esquema existente, use o GitHub Copilot para o evoluir adicionando, modificando ou removendo tabelas e colunas. O diagrama, o código e as vistas diferenciais refletem estas mudanças em tempo real.

Aqui estão alguns exemplos de solicitações para evolução de esquemas:

  • "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 atualiza-se quando aplicas uma alteração. As adições de colunas aparecem no cartão da tabela correta. Elementos removidos desaparecem do diagrama. O processo preserva todas as relações.

Revisão das alterações ao esquema

Depois de fazer edições de esquema através do GitHub Copilot ou da interface, reveja todas as alterações pendentes antes de as aplicar à base de dados.

Vista comparativa do esquema

Selecione o botão Mostrar Alterações na barra de ferramentas Schema Designer para abrir a vista diferencial. A vista diferencial exibe:

  • Objetos adicionados, como tabelas, colunas e chaves estrangeiras, claramente marcados como Adicionados.
  • Objetos removidos marcados como Removidos.
  • Objetos modificados que mostram valores antes e depois para tipo de dado, anulabilidade, identidade, valores padrão e flags de chave.
  • Nomes qualificados por esquema para todos os objetos, como schema.table e schema.column.
  • Uma opção Desfazer que aparece quando passa o rato sobre alterações individuais.

Captura de ecrã da vista diferencial do esquema mostrando objetos de esquema adicionados, removidos e modificados.

Revisão das alterações ao GitHub Copilot

Quando o GitHub Copilot aplica múltiplas edições de esquema, inicia automaticamente a revisão das Alterações do Copilot . Este fluxo guiado mostra-lhe cada edição proposta pela IA para que possa rever uma a uma:

  1. Avance e retroceda entre as alterações.
  2. Selecione Aceitar para manter uma alteração, ou Desfazer para a reverter.
  3. Selecione o emblema da propriedade num cartão de alteração para ver os valores detalhados antes e depois.

Captura de ecrã 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 emblema da propriedade num cartão de alteração para ver os valores detalhados antes e depois de cada propriedade modificada:

Captura de ecrã de um detalhe do cartão de alteração que mostra valores antes e depois de uma propriedade de esquema modificada.

Inicializar um esquema do zero

O GitHub Copilot pode gerar esquemas completos de aplicação. Numa base de dados vazia, abra o Schema Designer com o painel de chat do GitHub Copilot e descreva um conceito de aplicação. O GitHub Copilot constrói o modelo de dados, incluindo tabelas, colunas, chaves primárias, chaves estrangeiras e relações.

Aqui estão alguns exemplos de sugestões para a 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 de o GitHub Copilot gerar o esquema inicial, pode continuar a evoluí-lo com prompts de seguimento como "Add a comments feature to this blog platform" ou "Add direct messaging to this Twitter clone".

Importação de artefactos externos

O GitHub Copilot pode aceitar contexto externo para gerar ou informar o design de esquemas. A entrada suportada inclui dados JSON, documentos, imagens ou qualquer formato que o GitHub Copilot suporte.

Aqui estão alguns exemplos de sugestões para importar os artefactos externos.

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

Os objetos aninhados em JSON são modelados como tabelas relacionadas separadas. O Schema Designer infere tipos de dados a partir da entrada e cria relações de chave estrangeira para estruturas aninhadas.

Captura de ecrã do GitHub Copilot a importar um payload JSON e a gerar tabelas no diagrama do Schema Designer.

Validação e proteções

À medida que os esquemas evoluem, o GitHub Copilot valida as alterações e assinala potenciais problemas de forma integrada. As verificações de validação incluem:

  • Faltam chaves primárias nas tabelas.
  • Tipos de dados inválidos ou não suportados para a plataforma SQL Server de destino.
  • Problemas de normalização, como grupos repetidos armazenados numa única coluna.
  • Nomes de colunas duplicados dentro da mesma tabela.
  • Referências de chave estrangeira a tabelas ou colunas inexistentes.

O GitHub Copilot explica diretamente os problemas detetados e sugere ações corretivas antes de avançar com as alterações solicitadas.

Limitações

  • Estado da sessão de chat: As sessões de chat não guardam o histórico quando mudas de contexto da base de dados. Um novo contexto reinicia a memória do chat.
  • É necessária ligação ativa à base de dados: Precisa de uma ligação ativa à base de dados através da extensão MSSQL para carregar e modificar esquemas. Quando usas o GitHub Copilot em modo agente, o agente pode configurar a ligação por ti.
  • A saída gerada por IA deve ser revista: o GitHub Copilot pode sugerir recomendações de esquema incorretas ou subótimas. Revise sempre o SQL gerado e as alterações de esquema antes de publicar na sua base de dados.

Comentários 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 reportar um bug, visite https://aka.ms/vscode-mssql-bug. Para solicitar um novo recurso, vá para https://aka.ms/vscode-mssql-feature-request.