快速入门:使用内嵌的 GitHub Copilot 场景以可视化方式设计架构定义

MSSQL 扩展的架构设计器在其画布中直接嵌入了 GitHub Copilot。 你可以用自然语言描述所需内容,同时观看表、列和关系在可视化关系图中呈现出来,而 Transact-SQL (T-SQL) 脚本也会实时更新。 本快速入门逐步讲解使嵌入体验具有独特作用的方案:从其他文件中的选定代码创建表、添加多对多关系、生成主题测试数据以及导入外部项目。

Tip

当你希望在 AI 驱动的架构设计过程中同时获得可视化反馈时,请将Schema Designer 和 GitHub Copilot配合使用。 如果您希望仅使用提示词,或尚未准备好采用可视化更改,请使用 通过聊天进行架构设计 @mssql。 有关该功能的参考文档,请参阅架构设计器中的GitHub Copilot集成

关键结论

  • 架构设计器中内嵌的 GitHub Copilot 与 @mssql聊天参与者属于不同的管道。 它直接在可视画布上运行。
  • 架构设计器中的GitHub Copilot可以从其他编辑器选择(例如 TypeScript 文件中的 JSON 结构)中选取上下文。
  • 每项更改都会暂存在 Copilot Changes 面板中,以便在发布到数据库之前供审核。
  • 自定义 说明 也在此处适用。

先决条件

  • 已安装MSSQL 扩展的 Visual Studio Code(版本 1.41 或更高版本)。
  • 有效的 GitHub Copilot 订阅。
  • 对象资源管理器中的数据库连接(本地 SQL Server、Azure SQL 数据库 或 Microsoft Fabric 中的 SQL 数据库)。

打开架构设计器

  1. 在对象资源管理器中,右键单击数据库。
  2. 选择 “打开架构设计器”。

架构设计器打开后,会显示现有表的可视化视图。 GitHub Copilot聊天面板显示在画布旁边。

方案 1:从另一个文件中的选定代码创建表

架构设计器的嵌入式GitHub Copilot可以从其他编辑器窗口读取所选内容,并将其用作架构创建上下文。 当你的前端或应用层中已经有需要转换为实际数据表的硬编码数据结构时,这会很有用。

  1. 在单独的编辑器标签页中打开源文件。例如,带有 MAGAZINES_DATA 数组的 React 组件。
  2. 在源文件 中选择数据结构。
  3. 切换到架构设计器聊天面板并发送:
Using the selected JSON structure, create a new table called magazines.

GitHub Copilot:

  • 选取跨文件选择作为上下文。
  • 推断适当的 T-SQL 数据类型(NVARCHAR、、INTDATETIME2)。
  • 遵循你在自定义说明中关于命名、约束和审计列的要求。
  • “Copilot更改”面板中暂存新表。

查看画布中的建议表格,然后接受更改或撤销更改。

方案 2:添加多对多关系

如果新表需要与现有表相关,请要求GitHub Copilot创建交接表和外键。

Add a many-to-many relationship between the magazines table and
the existing authors table. Ensure the foreign key columns align
with the current database schema and reference the correct primary
key columns.

GitHub Copilot 会创建一个 magazines_authors 联结表,并使用分别指向这两个表的正确外键。 视觉关系图会更新以显示新的关系线。

方案 3:生成主题测试数据

建立好数据库架构后,GitHub Copilot 可以生成逼真的种子数据,并将其写入数据库。

Seed the magazines and magazines_authors tables with test data.
- Tables already exist - do NOT create or alter them.
- Each magazine should be themed around science or technology.
- Include at least 5 magazines with creative titles, issues, and years.
- Look up existing authors in the database and link each magazine
  to one or more authors.

在执行之前,请查看生成的 INSERT 语句。 GitHub Copilot通过查找现有主键而不是发明 ID 来尊重引用完整性。

验证数据是否已正确写入:

Show me all the data in the magazines table and their linked authors.

场景 4:从零开始创建架构模式

在空数据库上,可以从单个自然语言说明生成完整的应用程序架构。

I'm building a task management app. Create a schema with users,
projects, tasks, and comments. Users can belong to multiple projects
with different roles. Tasks can have multiple assignees. Comments
belong to a task and an author.

GitHub Copilot 会创建所有表、关系、联结表和约束,然后将它们暂存以供审查。 此流与计划模式配对良好,先使用 计划模式通过架构进行推理,然后将计划交给架构设计器以供执行。

场景 5:导入外部工件

架构设计器可以从外部输入生成架构元素:JSON 文件、应用程序代码、文档或图像。

Here's a JSON file describing our product catalog structure.
Create tables to represent this data, including appropriate
relationships between products, categories, and variants.

通过 #file: 附加文件,或将文件拖入聊天。 GitHub Copilot 会推断出架构,包括源数据中未明确显示的关系。

在发布之前查看更改

每个建议的更改都会暂存到架构设计器底部的 “Copilot 更改” 面板中。 您可以:

  • 逐个查看添加、修改或删除的对象。
  • 查看执行的具体 T-SQL 脚本。
  • 接受 将更改应用于画布,或 撤消 将其丢弃。
  • 准备就绪后,选择“ 发布更改 ”以对数据库执行 DDL。

验证和防护措施

Schema Designer 中的 GitHub Copilot 会在问题进入您的数据库之前主动发现并标记这些问题:

  • 没有主键的表。
  • SQL Server的数据类型无效。
  • 规范化问题(例如重复组)。
  • 引用了不存在列的外键。

差异视图中的架构限定名称(schema.tableschema.column)使每项建议的更改都明确无歧义。

何时使用此架构与基于聊天的架构设计

如果你希望... 使用
使用拖放画布 + AI 直观地设计架构 本文(集成 GitHub Copilot 的架构设计器)
通过针对连接的数据库的提示设计架构,无需画布 带有 @mssql 的聊天式架构浏览器
先梳理完整的数据模型,再开始构建 计划模式
手动设计没有 AI 的架构 架构设计器

共享您的体验

为了帮助我们优化和改进 MSSQL 扩展的 GitHub Copilot,请使用以下 GitHub 问题模板提交反馈: GitHub Copilot 反馈

提交反馈时,请考虑包括:

  • 测试的方案:告诉我们你关注哪些领域,例如架构创建、查询生成、安全性、本地化。

  • 效果很好:描述任何感觉流畅、有帮助或超出预期的体验。

  • 问题或错误:包括任何问题、不一致之处或令人困惑的行为。 屏幕截图或屏幕录制特别有用。

  • 改进建议:分享改进可用性、扩大覆盖范围或增强 GitHub Copilot 响应的想法。