Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В этом кратком руководстве вы узнаете, как GitHub Copilot помогает разработчикам разрабатывать, понимать и развивать схемы баз данных с помощью контекстных предложений. Независимо от того, создаете ли вы с нуля или проводите реверс-инжиниринг существующих таблиц, GitHub Copilot упрощает процесс во фреймворках SQL и фреймворках объектно-реляционного отображения (ORM), облегчая работу со схемами, делая ее быстрее и разумнее управляемой.
В этом разделе рассматриваются как создание новых схем с нуля, так и работа с существующими базами данных. Вы можете использовать GitHub Copilot для создания схем, обновления объектов, выполнения обратной разработки и изучения существующих баз данных.
Создание схемы
Создание базовой схемы
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.
Изменение схемы
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`.
Создание схемы с связями и ограничениями
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.
Создание скрипта миграции для добавления столбца
Generate a Prisma migration to add a column called `LastModified` (`datetime`) to the `Post` table.
Выполнить обратную разработку существующей базы данных
Reverse engineer the current database and generate `CREATE TABLE` statements for all tables in the `SalesLT` schema.
Сводка структуры таблицы
Summarize the structure of the `SalesLT.Product` table in natural language.
Создание модели Python
Generate a `models.py` (Django) file that reflects the structure of the `SalesLT.Customer` table.
Создание контекста и моделей Entity Framework Core
Generate an Entity Framework Core DbContext and model classes for the `SalesLT` schema.
Создание определений и сопоставлений моделей
Create a Sequelize model definition for the `SalesLT.Product` and `SalesLT.Category` tables with appropriate associations.
Создание сущности из таблицы
Generate a TypeORM entity for the `SalesLT.Customer` table, including primary key and indexed fields.
Создание скрипта миграции для создания новой таблицы
Generate a `knex.js` migration script to create the `SalesLT.SalesOrderHeader` table with `OrderDate`, `CustomerID`, and `TotalDue` columns.
Определение связей
Определение реляционного скрипта со ссылками на внешний ключ
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)`.
Добавление таблицы в схему со ссылками на внешний ключ
Add a `Categories` table to the `blog` schema and update the `Posts` table to include a nullable foreign key referencing `Categories(CategoryId)`.
Обновление базы данных для добавления таблицы и обновления столбцов
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.
Определение связей внешнего ключа для таблицы
Identify and describe all foreign key relationships that involve the `SalesLT.SalesOrderHeader` table.
Замена внешнего ключа связью "многие ко многим"
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.
Создание сопоставления между двумя таблицами
Write Prisma relation mappings between `Customer`, `SalesOrderHeader`, and `SalesOrderDetail`.
Обновление модели данных
Update a Sequelize model to include a `hasMany` and `belongsTo` relationship between `Customer` and `Order`.
Проверка схемы
Предложение ограничений для конфиденциальных данных
Suggest constraints for a table storing user passwords (for example, special characters and length limits).
Проверка ограничений типа данных
Confirm that the `Name` column in `SalesLT.ProductCategory` doesn't use `nvarchar(max)` and has a reasonable maximum length constraint.
Проверка ограничений первичного ключа
Check whether the `SalesLT.Address` table has a primary key and all required fields defined.
Проверка записей аудита для таблиц
Generate a SQL script to validate that all tables in the `SalesLT` schema include a `CreatedDate` or `ModifiedDate` column.
Определение модели и включение логики проверки
Define a SQLAlchemy model for the `Customer` table and include validation logic using Pydantic or custom Python validators before inserting into the database.
Добавьте аннотации данных для валидации формата
Add data annotations in an Entity Framework model to ensure fields like `Email` and `PhoneNumber` follow specific formats.
Оставьте свой отзыв
Чтобы помочь нам уточнить и улучшить GitHub Copilot для расширения MSSQL, используйте следующий шаблон проблемы GitHub для отправки отзывов: GitHub Copilot Feedback
При отправке отзывов рассмотрите возможность включения:
Сценарии, проверенные . Сообщите нам, какие области вы сосредоточены, например создание схемы, создание запросов, безопасность, локализация.
То, что работало хорошо – Опишите любые ситуации, которые казались бесперебойными, полезными или превысили ваши ожидания.
Проблемы или ошибки — включает любые проблемы, несоответствия или запутанное поведение. Снимки экрана или записи экрана особенно полезны.
Предложения по улучшению — предоставление общих идей для улучшения удобства использования, расширения охвата или повышения ответов GitHub Copilot.
Связанный контент
- Расширение GitHub Copilot для MSSQL для Visual Studio Code
- Быстрый старт: Использование чата и встроенных предложений GitHub Copilot
- Быстрый старт: Создание кода
- Быстрый старт: Использование построителя интеллектуальных запросов
- Краткое руководство: Помощник оптимизации запросов
- Краткое руководство: Использование инструмента объяснения бизнес-логики
- Краткое руководство: Анализатор безопасности
- Краткое руководство: Инструмент поддержки локализации и форматирования
- Быстрое начало: Создание данных для тестирования и имитации
- Известные проблемы и ограничения