Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce guide de démarrage rapide, vous allez découvrir comment GitHub Copilot aide les développeurs à concevoir, comprendre et évoluer des schémas de base de données avec des suggestions contextuelles. Que vous construisiez à partir de zéro ou que vous fassiez de l'ingénierie inverse sur des tables existantes, GitHub Copilot simplifie le processus dans les cadres SQL et ORM (Object-Relational mappage), ce qui rend le travail sur le schéma plus rapide, plus intelligent et plus facile à gérer.
Cette section traite de la création de schémas à partir de zéro et de l’utilisation de bases de données existantes. Vous pouvez utiliser GitHub Copilot pour générer des définitions de schéma axées sur le code, mettre à jour des objets, faire de l'ingénierie inverse et explorer les bases de données existantes.
Création de schéma
- Écrivez un script SQL pour créer un schéma nommé
blog
pour une application de blog. Le schéma doit inclure trois tables :Posts
,Comments
etUsers
. Chaque table doit avoir des clés primaires appropriées, et les relations et contraintes de clé étrangère nécessaires doivent être définies. - Ajoutez une nouvelle colonne nommée
LastModified
de typedatetime
à laPosts
table dans leblog
schéma. Générez le script SQL mis à jour reflétant cette modification, y compris la définition complète du schéma modifié.- Il n’est pas nécessaire de créer le schéma, mais il serait utile d’utiliser le script généré et de l’exécuter pour valider la précision du code généré. La section suivante continue d’utiliser ce nouveau schéma appelé
blog
.
- Il n’est pas nécessaire de créer le schéma, mais il serait utile d’utiliser le script généré et de l’exécuter pour valider la précision du code généré. La section suivante continue d’utiliser ce nouveau schéma appelé
- Générez un
Prisma
schéma pour une application de blog à l’aide de ma base de données actuelle. Le schéma doit définir un nouveau schéma de base de données nomméblog
et inclure des tables pourposts
,authors
et , aveccomments
des relations et des contraintes appropriées. - Générez une
Prisma
migration pour ajouter une colonne appeléeLastModified
(datetime
) à laPost
table. - Effectuez la rétroconception de la base de données actuelle et générez des instructions
CREATE TABLE
pour toutes les tables dans le schémaSalesLT
. - Résumez la structure de la
SalesLT.Product
table en langage naturel. - Générez un
models.py
fichier (Django
) qui reflète la structure de laSalesLT.Customer
table. - Générez une
Entity Framework Core
classe DbContext et des classes de modèle pour leSalesLT
schéma. - Créez une définition de modèle Sequelize pour les tables
SalesLT.Product
etSalesLT.Category
avec des associations appropriées. - Générez une
TypeORM
entité pour laSalesLT.Customer
table, y compris la clé primaire et les champs indexés. - Générez un
knex.js
script de migration pour créer la tableSalesLT.SalesOrderHeader
avec les colonnesOrderDate
,CustomerID
etTotalDue
.
Définir des relations
- Écrivez SQL pour définir une relation un-à-plusieurs entre
Users
etPosts
dans leblog
schéma. Vérifiez que la clé étrangère dansPosts
fait référence àUsers(UserId)
. - Ajoutez une table au schéma
Categories
et mettez à jour la tableblog
pour inclure une clé étrangère nullable référencantPosts
. - Écrivez SQL pour mettre à jour la
Users
table pour inclure uneRoleId
colonne et créer uneRoles
table. Définissez une relation de clé étrangère et appliquez que chaque utilisateur doit avoir un rôle. - Identifiez et décrivez toutes les relations de clé étrangère qui impliquent la
SalesLT.SalesOrderHeader
table. - Écrivez un script SQL qui supprime une clé étrangère entre
Posts
etCategories
dans leblog
schéma et le remplace par une relation plusieurs-à-plusieurs à l’aide d’une nouvelle table de jointure. - Écrire
Prisma
des mappages de relations entreCustomer
,SalesOrderHeader
etSalesOrderDetail
. - Mettez à jour un modèle Sequelize pour inclure une relation entre
hasMany
etbelongsTo
ainsi qu'entreCustomer
etOrder
.
Validation du schéma
- Suggérer des contraintes pour une table stockant des mots de passe utilisateur (par exemple, des caractères spéciaux et des limites de longueur).
- Vérifiez que la
Name
colonne dansSalesLT.ProductCategory
n’utilisenvarchar(max)
pas et a une contrainte de longueur maximale raisonnable. - Vérifiez si la
SalesLT.Address
table a une clé primaire et tous les champs requis définis. - Générez un script SQL pour vérifier que toutes les tables du schéma
SalesLT
incluent une colonneCreatedDate
ou une colonneModifiedDate
. - Définissez un modèle SQLAlchemy pour la
Customer
table et incluez la logique de validation à l’aide de validateurs Python Pydantic ou personnalisés avant l’insertion dans la base de données. - Ajoutez
Data Annotations
dans un modèleEntity Framework
pour vous assurer que des champs commeEmail
etPhoneNumber
respectent des formats spécifiques.
Commentaires : Explorateur de schémas & Concepteur
Pour nous aider à affiner et améliorer GitHub Copilot pour l’extension MSSQL, utilisez le modèle de problème GitHub suivant pour envoyer vos commentaires : Commentaires GitHub Copilot
Lors de l’envoi de commentaires, envisagez d’inclure :
Scénarios testés : informez-nous des domaines sur lesquels vous vous êtes concentré, par exemple, la création de schéma, la génération de requêtes, la sécurité, la localisation.
Ce qui a bien fonctionné – Décrivez toutes les expériences qui semblaient fluides, utiles ou ont dépassé vos attentes.
Problèmes ou bogues : incluez des problèmes, des incohérences ou des comportements déroutants. Les captures d’écran ou les enregistrements d’écran sont particulièrement utiles.
Suggestions d’amélioration : partagez des idées pour améliorer la facilité d’utilisation, développer la couverture ou améliorer les réponses de GitHub Copilot.
Contenu connexe
- Extension GitHub Copilot pour MSSQL pour Visual Studio Code
- Démarrage rapide : Utiliser les suggestions GitHub Copilot inline et de conversation (aperçu)
- Démarrage rapide : Générer du code (préversion)
- Démarrage rapide : Utiliser le Générateur de requêtes intelligentes (préversion)
- Démarrage rapide : Assistant Optimiseur de requête (préversion)
- Démarrage rapide : Utiliser l’explorateur de la logique métier (aperçu)
- Démarrage rapide : Analyseur de sécurité (préversion)
- Démarrage rapide : Localisation et assistance de mise en forme (préversion)
- Démarrage rapide : Générer des données pour les tests et la simulation (aperçu)
- Limitations et problèmes connus