Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
,Comments
eUsers
. 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 tipodatetime
àPosts
tabela noblog
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
.
- 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
- 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 chamadoblog
e incluir tabelas paraposts
,authors
, ecomments
, com relações e restrições apropriadas. - Gere uma
Prisma
migração para adicionar uma coluna chamadaLastModified
(datetime
) àPost
tabela. - Faça uma engenharia reversa da base de dados atual e gere instruções
CREATE TABLE
para todas as tabelas do esquemaSalesLT
. - Resuma a estrutura da
SalesLT.Product
tabela em linguagem natural. - Gere um
models.py
arquivo (Django
) que reflita a estrutura daSalesLT.Customer
tabela. - Gere um
Entity Framework Core
DbContext e classes modelo para oSalesLT
esquema. - Crie uma definição de modelo Sequelize para as tabelas
SalesLT.Product
eSalesLT.Category
com associações apropriadas. - Gere uma
TypeORM
entidade para aSalesLT.Customer
tabela, incluindo chave primária e campos indexados. - Gere um script de migração
knex.js
para criar a tabelaSalesLT.SalesOrderHeader
com as colunasOrderDate
,CustomerID
, eTotalDue
.
Definir relações
- Escreva SQL para definir uma relação um-para-muitos entre
Users
ePosts
no esquemablog
. Certifique-se de que a chave estrangeira emPosts
referenciaUsers(UserId)
. - Adicione uma tabela
Categories
ao esquemablog
e atualize a tabelaPosts
para incluir uma chave estrangeira anulável que faz referência aCategories(CategoryId)
. - Escreva SQL para atualizar a
Users
tabela para incluir umaRoleId
coluna e criar uma novaRoles
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
eCategories
no esquemablog
e a substitua por uma relação muitos-para-muitos usando uma nova tabela de junção. - Escreva
Prisma
mapeamentos de relação entreCustomer
,SalesOrderHeader
eSalesOrderDetail
. - Atualize um modelo Sequelize para incluir um relacionamento
hasMany
ebelongsTo
entreCustomer
eOrder
.
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
emSalesLT.ProductCategory
não usanvarchar(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 umaCreatedDate
ouModifiedDate
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 modeloEntity Framework
para garantir que campos comoEmail
ePhoneNumber
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.
Conteúdo relacionado
- Extensão GitHub Copilot for MSSQL para Visual Studio Code
- Guia de início rápido: usar Bate-papo e sugestões integradas do Copilot do GitHub (Pré-visualização)
- Guia de início rápido: gerar código (Pré-visualização)
- Guia de início rápido: usar o Smart Query Builder (visualização)
- Guia de início rápido: Assistente do Otimizador de Consultas (Pré-visualização)
- Guia de início rápido: Utilizar o Business Logic Explainer (pré-visualização)
- Guia de início rápido: Analisador de segurança (visualização)
- Guia de início rápido: localização e auxiliar de formatação (visualização)
- Guia de início rápido: gerar dados para teste e imitação (versão preliminar)
- Limitações e problemas conhecidos