Partilhar via


Guia de início rápido: usar o explorador de esquema e o designer (pré-visualização)

Neste guia de início rápido, você aprenderá como o GitHub Copilot ajuda os desenvolvedores a projetar, entender e evoluir esquemas de banco de dados com sugestões sensíveis ao contexto. Quer você esteja criando do zero ou fazendo engenharia reversa de tabelas existentes, o GitHub Copilot simplifica o processo em estruturas SQL e ORM (Object-Relational Mapping), tornando o trabalho do esquema mais rápido, inteligente e fácil de manter.

Esta seção aborda a criação de novos esquemas do zero e o trabalho com bancos de dados existentes. Você pode usar o GitHub Copilot para gerar definições de esquema code-first, atualizar objetos ou fazer engenharia reversa e explorar bancos de dados existentes.

Criação de esquema

  • Escreva um script SQL para criar um novo esquema nomeado blog para um aplicativo de blog. O esquema deve incluir três tabelas: Posts, Commentse Users. Cada tabela deve ter chaves primárias apropriadas e as relações e restrições de chave estrangeira necessárias devem ser definidas.
  • Adicione uma nova coluna com o nome LastModified do tipo datetime à Posts tabela no blog esquema. Gere o script SQL atualizado refletindo essa alteração, incluindo a definição completa do esquema modificado.
    • Não é necessário criar o esquema, mas seria ótimo se você pudesse usar o script gerado e executá-lo para validar a precisão do código gerado. A seção a seguir continua usando esse novo esquema chamado blog.
  • Gere um Prisma esquema para um aplicativo de blog usando meu banco de dados atual. O esquema deve definir um novo esquema de banco de dados chamado blog e incluir tabelas para posts, authors, e comments, com relações e restrições apropriadas.
  • Gere uma Prisma migração para adicionar uma coluna chamada LastModified (datetime) à Post tabela.
  • Faça uma engenharia reversa da base de dados atual e gere instruções CREATE TABLE para todas as tabelas do esquema SalesLT.
  • Resuma a estrutura da SalesLT.Product tabela em linguagem natural.
  • Gere um models.py arquivo (Django) que reflita a estrutura da SalesLT.Customer tabela.
  • Gere um Entity Framework Core DbContext e classes modelo para o SalesLT esquema.
  • Crie uma definição de modelo Sequelize para as tabelas SalesLT.Product e SalesLT.Category com associações apropriadas.
  • Gere uma TypeORM entidade para a SalesLT.Customer tabela, incluindo chave primária e campos indexados.
  • Gere um script de migração knex.js para criar a tabela SalesLT.SalesOrderHeader com as colunas OrderDate, CustomerID, e TotalDue.

Definir relações

  • Escreva SQL para definir uma relação um-para-muitos entre Users e Posts no esquema blog. Certifique-se de que a chave estrangeira em Posts referencia Users(UserId).
  • Adicione uma tabela Categories ao esquema blog e atualize a tabela Posts para incluir uma chave estrangeira anulável que faz referência a Categories(CategoryId).
  • Escreva SQL para atualizar a Users tabela para incluir uma RoleId coluna e criar uma nova Roles tabela. Defina uma relação de chave estrangeira e imponha que cada usuário deve ter uma função.
  • Identifique e descreva todas as relações de chave estrangeira que envolvem a SalesLT.SalesOrderHeader tabela.
  • Escreva um script SQL que remova uma chave estrangeira entre Posts e Categories no esquema blog e a substitua por uma relação muitos-para-muitos usando uma nova tabela de junção.
  • Escreva Prisma mapeamentos de relação entre Customer, SalesOrderHeadere SalesOrderDetail.
  • Atualize um modelo Sequelize para incluir um relacionamento hasMany e belongsTo entre Customer e Order.

Validação de esquemas

  • Sugira restrições para uma tabela que armazena senhas de usuário (por exemplo, caracteres especiais e limites de comprimento).
  • Confirme se a coluna Name em SalesLT.ProductCategory não usa nvarchar(max) e possui uma restrição adequada de comprimento máximo.
  • Verifique se a SalesLT.Address tabela tem uma chave primária e todos os campos obrigatórios definidos.
  • Gere um script SQL para validar que todas as tabelas no SalesLT esquema incluem uma CreatedDate ou ModifiedDate coluna.
  • Defina um modelo SQLAlchemy para a Customer tabela e inclua lógica de validação usando validadores Python Pydantic ou personalizados antes de inserir no banco de dados.
  • Adicione Data Annotations a um modelo Entity Framework para garantir que campos como Email e PhoneNumber sigam formatos específicos.

Comentários: Schema Explorer & Designer

Para nos ajudar a refinar e melhorar o Copilot do GitHub para a extensão MSSQL, use o seguinte modelo de problema do GitHub para enviar seus comentários: Feedback do Copiloto do GitHub

Ao enviar comentários, considere incluir:

  • Cenários testados – Diga-nos em quais áreas você se focou, por exemplo, criação de esquema, geração de consultas, segurança, localização.

  • O que funcionou bem – Descreva todas as experiências que foram suaves, úteis ou que excederam as suas expectativas.

  • Problemas ou bugs – Inclua quaisquer problemas, inconsistências ou comportamentos confusos. Capturas de tela ou gravações de tela são especialmente úteis.

  • Sugestões de melhoria – Compartilhe ideias para melhorar a usabilidade, expandir a cobertura ou melhorar as respostas do Copiloto do GitHub.