| name | database-schema |
| description | Database modeling rules focusing on query performance, indexing, and scalability. |
数据库设计
系统化的数据库设计方法,涵盖建模、范式化、索引优化和查询性能调优。
快速开始
5 步上手
- 准备输入 - 明确业务需求和数据关系
- 触发技能 - 在 AI 工具中输入
/database-schema-full
- 描述需求 - 提供业务场景和数据模型需求
- 生成方案 - AI 生成完整的数据库设计方案
- 迭代优化 - 根据反馈调整数据库设计
使用示例
/database-schema-full
请设计一个电商系统的数据库 schema,包括:
1. 用户管理
2. 商品管理
3. 订单管理
4. 支付流程
5. 评论系统
要求考虑性能优化和数据一致性
工作流程
graph TD
A[需求分析] --> B[概念建模]
B --> C[逻辑建模]
C --> D[物理建模]
D --> E[索引设计]
E --> F[性能优化]
F --> G[文档生成]
G --> H[测试验证]
style A fill:#e1f5ff
style H fill:#c8e6c9
加载文件
相关 Skills
| Skill | 用途 |
|---|
| api-design | 定义与数据库交互的数据接口 |
| performance-tuning | 系统整体性能瓶颈排查 |
| technical-design | 基础设施及中间件选型 |
示例
检查清单
最佳实践
数据建模
- ✅ 概念建模 - 使用实体关系图 (ERD) 清晰表达数据关系
- ✅ 逻辑建模 - 定义表结构、字段类型和约束
- ✅ 物理建模 - 考虑具体数据库实现和性能优化
- ✅ 范式设计 - 遵循适当的范式,平衡数据冗余和查询效率
索引优化
- ✅ 选择度 - 为高选择度字段建立索引
- ✅ 左前缀原则 - 遵循复合索引的左前缀规则
- ✅ 覆盖索引 - 为频繁查询创建覆盖索引
- ✅ 索引维护 - 定期重建和优化索引
- ✅ 避免过度索引 - 权衡索引收益和维护成本
查询优化
- ✅ EXPLAIN 分析 - 使用执行计划分析查询性能
- ✅ 避免全表扫描 - 确保查询使用索引
- ✅ 减少 N+1 查询 - 使用连接查询或预加载
- ✅ 分页优化 - 对于大表使用游标分页
- ✅ 批量操作 - 减少数据库交互次数
数据一致性
- ✅ 事务管理 - 合理使用事务确保数据一致性
- ✅ 外键约束 - 建立适当的外键关系
- ✅ 数据校验 - 在应用层和数据库层都进行数据校验
- ✅ 备份策略 - 定期备份数据,确保数据安全
可扩展性
- ✅ 水平扩展 - 考虑分库分表策略
- ✅ 读写分离 - 为读多写少场景设计读写分离
- ✅ 缓存策略 - 合理使用缓存减少数据库压力
- ✅ 数据分片 - 根据业务特点选择合适的分片策略
常见问题
Q: 如何平衡数据库范式和性能?
A: 在设计初期遵循第三范式,确保数据一致性。然后根据查询性能需求,在适当位置进行反范式设计,如添加冗余字段、使用缓存等。关键是在数据一致性和查询性能之间找到平衡点。
Q: 如何设计高效的索引?
A: 遵循以下原则:
- 为高频查询的过滤字段建立索引
- 考虑复合索引的顺序(选择性高的字段在前)
- 避免在索引字段上使用函数
- 定期分析索引使用情况,移除未使用的索引
- 注意索引的维护成本,避免过度索引
Q: 如何处理大数据量的表?
A: 处理大数据表的策略:
- 分区表 - 根据时间或范围进行分区
- 分库分表 - 水平拆分数据
- 数据归档 - 将历史数据迁移到归档表
- 读写分离 - 减轻主库压力
- 缓存 - 使用 Redis 等缓存热点数据
- 优化查询 - 避免全表扫描,使用覆盖索引
Q: 如何优化数据库查询性能?
A: 优化查询的方法:
- 使用 EXPLAIN 分析执行计划
- 确保查询使用索引
- 减少查询返回的字段数量
- 避免复杂的子查询,使用连接查询
- 合理使用分页,避免一次性查询大量数据
- 使用批量操作减少数据库交互次数
- 定期收集统计信息,帮助优化器生成更好的执行计划
Q: 如何确保数据库的安全性?
A: 数据库安全措施:
- 最小权限原则 - 只授予必要的权限
- 密码策略 - 使用强密码,定期更换
- 加密存储 - 敏感数据加密存储
- 审计日志 - 记录重要操作的审计日志
- 防火墙 - 限制数据库访问地址
- 定期备份 - 确保数据安全
- 防注入 - 使用参数化查询,避免 SQL 注入
触发指令
⚠️ Prompt-as-Code (v5.0): 触发指令已迁移至 metadata.json。支持:
/database-schema-full - 完整数据库设计
/database-schema-quick - 快速数据库评估
Token 效率
- 主 Skill 文件: ~300 tokens
- 参考指南总计: ~4k+ tokens
深度总结:AI 技能优化与维护指南
核心原则
为确保 AI 工具能够有效使用技能,发挥最大作用,我们制定了以下核心原则:
1. 文档更新与 SOP 管理
深度分析
文档是技能使用的基础,完整准确的文档能够显著提升 AI 工具的使用效果。定期更新文档不仅能反映最新的流程变化,还能防止未来出现错误。
最佳实践
- 定期审查:每月检查一次文档,确保内容与实际流程一致
- 版本控制:使用语义化版本号记录文档变更,维护详细的变更日志
- SOP 标准化:将标准操作流程 (SOP) 细化为可执行的步骤,包含前置条件、执行步骤、预期结果和异常处理
- 视觉增强:使用 Mermaid 流程图和架构图可视化复杂流程,提升 AI 理解能力
- 多语言支持:为核心技能提供中英双语文档,适配国际化环境
执行步骤
- 识别变更点:分析流程变更的具体内容和影响范围
- 更新文档:修改相关文档,确保内容准确反映新流程
- 验证一致性:检查所有相关文档是否同步更新
- 测试执行:按照更新后的 SOP 执行操作,验证流程有效性
- 记录变更:在变更日志中记录详细的修改内容和原因
2. 代码库深度分析
深度分析
深入而广泛地分析代码库是确保技能有效性的关键。通过系统性分析,可以发现潜在问题,优化技能实现,提升 AI 工具的使用体验。
分析维度
- 结构分析:检查技能文件结构是否符合标准,验证必需文件是否存在
- 内容分析:审核技能逻辑、工作流程、Mermaid 流程图和最佳实践
- 脚本验证:运行验证脚本检查技能结构和规则文件
- 依赖分析:检查外部服务集成和参数化配置
- 性能分析:评估 Token 使用效率和响应速度
执行步骤
- 结构检查:使用
validate-skill.py 验证技能文件结构
- 规则验证:使用
lint-rules.py 检查规则文件的完整性
- 功能测试:使用
test-skill.py 测试技能的功能和性能
- 问题识别:记录发现的问题和改进机会
- 优化实施:根据分析结果优化技能实现
常见问题
- 文件缺失:缺少必需的 SKILL.md 或 metadata.json 文件
- 结构不符合标准:缺少建议的章节或目录
- 内容不完整:缺少工作流程、最佳实践或常见问题
- 格式错误:JSON 解析错误或 Markdown 格式问题
- 性能问题:Token 使用效率低或响应速度慢
3. AI 工具特定操作步骤
深度分析
不同 AI 工具具有不同的特性和使用方式,为每个工具提供特定的操作步骤能够显著提升使用效果。通过创建工具特定的文件,可以确保用户能够根据使用的工具获取最适合的操作指南。
工具特性分析
- Claude:支持复杂的多步骤任务,擅长深度思考和推理
- Cursor:专注于代码编辑和生成,集成在 IDE 中使用
- Trae:支持多技能协同工作流,提供可视化界面
- Antigravity:专注于创意内容生成和设计
- Codex:擅长代码理解和生成,支持多种编程语言
工具特定文件
为每个 AI 工具创建专门的操作指南文件:
- CLAUDE.md:Claude 特定的操作步骤和最佳实践
- CURSOR.md:Cursor 特定的操作步骤和最佳实践
- TRAE.md:Trae 特定的操作步骤和最佳实践
- ANTIGRAVITY.md:Antigravity 特定的操作步骤和最佳实践
- CODEX.md:Codex 特定的操作步骤和最佳实践
执行步骤
- 工具选择:根据任务需求选择合适的 AI 工具
- 文件查阅:参考对应工具的操作指南文件
- 环境准备:确保工具配置正确,网络连接稳定
- 技能激活:使用工具特定的触发指令激活技能
- 需求描述:清晰描述任务需求和预期结果
- 执行监控:观察工具执行过程,必要时提供额外信息
- 结果评估:检查输出是否符合预期,进行必要的调整
- 迭代优化:基于反馈持续优化使用方法
工具特定最佳实践
- Claude:使用详细的指令,提供充分的上下文信息
- Cursor:在代码编辑器中使用,结合文件内容提供具体指令
- Trae:利用多技能协同工作流,定义清晰的任务序列
- Antigravity:提供创意方向和风格参考,鼓励多样化输出
- Codex:提供具体的代码示例和上下文,明确指定编程语言
实施建议
集成策略
- 统一入口:在每个技能的 SKILL.md 文件中添加所有 AI 工具的参考链接
- 工具切换:提供工具间切换的指南,确保用户能够根据任务需求选择最合适的工具
- 性能对比:记录不同工具在相同任务上的表现,帮助用户做出更明智的选择
维护策略
- 定期更新:每月更新一次工具特定的操作指南,反映工具的最新特性
- 用户反馈:收集用户反馈,持续优化操作步骤
- 案例积累:记录成功案例和最佳实践,丰富操作指南内容
培训策略
- 新用户引导:为新用户提供详细的入门指南,帮助他们快速掌握技能使用方法
- 高级技巧:为经验丰富的用户提供高级技巧和优化策略
- 场景化培训:针对不同场景提供具体的使用示例和最佳实践
通过遵循以上原则和实施建议,我们可以确保 AI 工具能够有效使用技能,发挥最大作用,为用户提供高质量的服务。
AI 工具参考