Remarque
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 rétablissiez des tables existantes par ingénierie inverse, GitHub Copilot simplifie le processus dans les cadres SQL et de mappage objet-relationnel (ORM), rendant 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
Créer un schéma de base
Write a SQL script to create a new schema named `blog` for a blog application. The schema should include three tables: `Posts`, `Comments`, and `Users`. Each table must have appropriate primary keys, and the necessary foreign key relationships and constraints should be defined.
Modifier le schéma
Add a new column named `LastModified` of type `datetime` to the `Posts` table in the `blog` schema. Generate the updated SQL script reflecting this change, including the full definition of the modified schema.
It isn't needed to create the schema, but it would be great if you could use the script generated and run it to validate the accuracy of the generated code. The following section continues using this new schema called `blog`.
Créer un schéma avec des relations et des contraintes
Generate a Prisma schema for a blog application using my current database. The schema should define a new database schema named `blog` and include tables for `posts`, `authors`, and `comments`, with appropriate relationships and constraints.
Créer un script de migration pour ajouter une colonne
Generate a Prisma migration to add a column called `LastModified` (`datetime`) to the `Post` table.
Ingénierie inverse d’une base de données existante
Reverse engineer the current database and generate `CREATE TABLE` statements for all tables in the `SalesLT` schema.
Résumer une structure de tableau
Summarize the structure of the `SalesLT.Product` table in natural language.
Générer un modèle Python
Generate a `models.py` (Django) file that reflects the structure of the `SalesLT.Customer` table.
Générer un contexte et des modèles Entity Framework Core
Generate an Entity Framework Core DbContext and model classes for the `SalesLT` schema.
Créer une définition de modèle et des associations
Create a Sequelize model definition for the `SalesLT.Product` and `SalesLT.Category` tables with appropriate associations.
Générer une entité à partir d’une table
Generate a TypeORM entity for the `SalesLT.Customer` table, including primary key and indexed fields.
Générer un script de migration pour créer une nouvelle table
Generate a `knex.js` migration script to create the `SalesLT.SalesOrderHeader` table with `OrderDate`, `CustomerID`, and `TotalDue` columns.
Définir des relations
Définir un script relationnel avec des références de clé étrangère
Write SQL to define a one-to-many relationship between `Users` and `Posts` in the `blog` schema. Ensure the foreign key in `Posts` references `Users(UserId)`.
Ajouter une table à un schéma avec des références de clé étrangère
Add a `Categories` table to the `blog` schema and update the `Posts` table to include a nullable foreign key referencing `Categories(CategoryId)`.
Mettre à jour une base de données pour ajouter une table et mettre à jour des colonnes
Write SQL to update the `Users` table to include a `RoleId` column and create a new `Roles` table. Define a foreign key relationship and enforce that every user must have a role.
Identifier les relations de clé étrangère pour une table
Identify and describe all foreign key relationships that involve the `SalesLT.SalesOrderHeader` table.
Remplacer une clé étrangère par une relation plusieurs-à-plusieurs
Write a SQL script that removes a foreign key between `Posts` and `Categories` in the `blog` schema and replaces it with a many-to-many relationship using a new join table.
Générer un mappage entre deux tables
Write Prisma relation mappings between `Customer`, `SalesOrderHeader`, and `SalesOrderDetail`.
Mettre à jour un modèle de données
Update a Sequelize model to include a `hasMany` and `belongsTo` relationship between `Customer` and `Order`.
Validation du schéma
Suggérer des contraintes pour les données sensibles
Suggest constraints for a table storing user passwords (for example, special characters and length limits).
Valider les contraintes de type de données
Confirm that the `Name` column in `SalesLT.ProductCategory` doesn't use `nvarchar(max)` and has a reasonable maximum length constraint.
Valider les contraintes de clé primaire
Check whether the `SalesLT.Address` table has a primary key and all required fields defined.
Valider les enregistrements d’audit pour les tables
Generate a SQL script to validate that all tables in the `SalesLT` schema include a `CreatedDate` or `ModifiedDate` column.
Définir un modèle et inclure une logique de validation
Define a SQLAlchemy model for the `Customer` table and include validation logic using Pydantic or custom Python validators before inserting into the database.
Ajouter des annotations de données pour la validation de format
Add data annotations in an Entity Framework model to ensure fields like `Email` and `PhoneNumber` follow specific formats.
Partager votre expérience
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 de conversation et intégrées de GitHub Copilot
- Démarrage rapide : Générer du code
- Démarrage rapide : Utiliser le générateur de requêtes intelligent
- Démarrage rapide : Assistant Optimiseur de requête
- Démarrage rapide : Utiliser l’explicatif de logique métier
- Démarrage rapide : Analyseur de sécurité
- Démarrage rapide : Assistance de localisation et de mise en forme
- Démarrage rapide : Générer des données à des fins de test et de simulation
- Limitations et problèmes connus