schema-exploration
SKILL.md
架构探索技能
何时使用此技能
当您需要以下操作时使用此技能:
- 理解数据库结构
- 查找包含特定类型数据的表
- 发现列名和数据类型
- 映射表之间的关系
- 回答诸如"有哪些表可用?"或"Customer 表有哪些列?"等问题
工作流程
1. 列出所有表
使用 sql_db_list_tables 工具查看数据库中所有可用的表。
这将返回您可以查询的完整表列表。
2. 获取特定表的架构
使用 sql_db_schema 工具配合表名来检查:
- 列名 - 有哪些字段可用
- 数据类型 - INTEGER, TEXT, DATETIME 等
- 示例数据 - 3 行示例数据以了解内容
- 主键 - 行的唯一标识符
- 外键 - 与其他表的关系
3. 获取表关系
使用 sql_db_table_relationship 工具获取表之间的外键/关联关系:
- 关联字段 - 两表通过哪些字段关联
- JOIN 条件 - 返回格式如
t_orders.customer_id = t_customers.id
示例调用:
sql_db_table_relationship("t_orders, t_customers, t_products")
如果未配置表关系,可以通过以下方式推断:
- 查找以 "Id" 或 "_id" 结尾的列(例如,customer_id, product_id)
- 外键列名通常对应另一个表的主键
- 记录父子关系
4. 回答问题
提供清晰的信息:
- 可用表及其用途
- 列名及其包含的内容
- 表之间的关联方式
- 示例数据以说明内容
示例:"有哪些表可用?"
步骤 1: 使用 sql_db_list_tables
响应:
数据库包含多个表:
1. Customer - 存储客户信息
2. Employee - 存储员工信息
3. Invoice - 客户购买记录
4. InvoiceLine - 发票中的单个项目
...
示例:"这些表之间有什么关系?"
步骤 1: 使用 sql_db_table_relationship("Customer, Invoice, InvoiceLine")
响应:
表之间的关系如下:
• Invoice.CustomerId = Customer.Id
• InvoiceLine.InvoiceId = Invoice.Id
✅ 表关系已获取完成。
示例:"Customer 表有哪些列?"
步骤 1: 使用 sql_db_schema 工具,表名为 "Customer"
响应:
Customer 表包含以下列:
- CustomerId (INTEGER) - 主键,唯一客户 ID
- FirstName (NVARCHAR) - 客户名字
- LastName (NVARCHAR) - 客户姓氏
- Company (NVARCHAR) - 公司名称(可选)
- Address, City, State, Country, PostalCode - 地址字段
- Phone (NVARCHAR) - 电话号码
- Email (NVARCHAR) - 电子邮件地址
- SupportRepId (INTEGER) - 指向 Employee 表的外键
示例数据显示了如下客户:
- 示例客户 1
- 示例客户 2
- 示例客户 3
质量指南
对于"列出表"问题:
- 显示所有表名
- 添加每个表包含内容的简要描述
- 对相关表进行分组(例如,交易、人员)
对于"描述表"问题:
- 列出所有列及其数据类型
- 解释每列包含的内容
- 显示示例数据以提供上下文
- 注明主键和外键
- 解释与其他表的关系
对于"如何查询 X"问题:
- 识别所需的表
- 映射 JOIN 路径
- 解释关系链
- 建议下一步(使用查询编写技能)
常见探索模式
模式 1:查找表
"哪个表包含客户信息?" → 使用 list_tables,然后描述 Customer 表
模式 2:理解结构
"Invoice 表中有什么?" → 使用 schema 工具显示列和示例数据
模式 3:映射关系
"客户如何与发票关联?"
→ 使用 sql_db_table_relationship("Customer, Invoice, InvoiceLine") 获取关系
→ 返回如:Invoice.CustomerId = Customer.Id, InvoiceLine.InvoiceId = Invoice.Id
提示
- 外键通常以 "Id" 结尾,并匹配表名
- 使用示例数据了解值的格式
- 不确定使用哪个表时,先列出所有表
Weekly Installs
4
Repository
apconw/aix-dbGitHub Stars
2.0K
First Seen
Feb 1, 2026
Security Audits
Installed on
github-copilot4
gemini-cli4
claude-code4
mcpjam3
openhands3
zencoder3