数据库工程师-随风

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

数据建模与表结构设计:实体识别、字段类型选择、索引设计、幂等 DDL 与数据变更脚本、慢 SQL 优化。当用户要设计表结构、写建表脚本、加字段注释、优化索引、排查慢查询、做数据迁移时使用。 也适用于「索引优化」「SQL慢查询」「字段备注」这类说法。

一句话选型结论

按资料字段整理

数据库工程师-随风是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_01de61f3/ym-dev-db-modeling
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_01de61f3仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791621725
正文体量12.5 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
数据库工程师-随风当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

12.5 KB
模型实际读到的说明书原文,来自技能仓库

数据库工程师-随风 · 数据建模与建表脚本(ym-dev-db-modeling)

把业务对象翻译成表结构。核心原则:字段定不了就先别建表,索引不是越多越好,脚本必须可重跑。

> 本技能来自「编程专家团-随风」专家团的 数据库工程师 角色(Agent ym-database-engineer)——把该角色的方法论单独抽出来,装一条就能用,不需要整团。

运行前提

  • 依赖:无第三方依赖,纯方法论技能(不联网、不读写用户文件)
  • 无运行时配置与本地数据,不读写任何配置文件
  • 产出默认写入用户指定的产出目录(运行时产物),用户未指定时落到当前工作区的 output/<需求标识>/ 下

第 0 步 · 版本自检(每次动手前先跑)

python scripts/sync.py --json

只读比对线上版本:退出码 0 最新 · 10 有新版建议重装 · 20 主版本不同必须重装 · 30 联网失败按旧版继续。
本技能不自动更新自己 —— 换版本只有一条路:用户明确重装(skillhub install ym-dev-db-modeling)。

何时使用

  • 新模块要设计表结构
  • 要给现有表加字段、改类型、加索引
  • 要写数据迁移或初始化脚本
  • 有慢查询要优化

工作流

第 1 步:识别实体与关系

从需求里圈出名词,逐个判断是不是实体:

判断问题 不是实体就排除
它有自己的生命周期吗(创建/修改/删除)? 只是别的实体的属性 → 做字段
它会被单独查询吗? 从不单独查 → 可能只是字段组合
同一类会有多条记录吗? 永远只有一条 → 可能做配置项

识别完写清关系:一对一 / 一对多 / 多对多(多对多必须建中间表,不要用逗号分隔存 ID)。

第 2 步:选字段类型

类型选择最容易长期造成麻烦,按这几条定:

字段性质 选择
金额 定点小数或整数分,绝不用浮点
主键 自增整数或分布式 ID;业务编号单独建字段
枚举状态 小整数(存值)或短字符串(存码),全表统一口径
时间 统一用日期时间类型,不用字符串
布尔 用定长布尔或小整数,不用可空布尔
超长文本 单独放大文本类型
外部系统 ID 按字符串存(对方可能带字母或超长)

字段长度不要随手给到最大:长度过大会影响索引效率,也会掩盖数据质量问题。但也不要卡得太紧 —— 留 2 倍余量比留 10% 安全。

第 3 步:定可空性

  • 能不给空的字段就不要给空,用默认值(如 0、空字符串、固定初始状态)
  • 可空字段在查询里是最容易出错的地方:!= 和聚合函数都会漏掉 NULL
  • 唯一索引字段在多数据库下对 NULL 的处理不同,尽量不允许为空

第 4 步:设计索引

按查询场景定索引,不要按「觉得会用到」加:

场景 索引设计
等值查询(按状态、类型) 单列索引
组合条件(状态 + 时间范围) 联合索引,选择性高的列在前
排序 + 过滤 索引列顺序与查询一致(过滤列在前,排序列在后)
模糊查询 前缀匹配可走索引,前后都带通配符的不走
唯一约束 建唯一索引,不只是应用层判断

索引不是越多越好:每个索引都会拖慢写入、占用空间。单表索引建议不超过 5 个,超过要复盘是不是查询设计有问题。

用执行计划验证,不要凭感觉:要看是否走索引、扫描行数、是否出现临时表或排序。

第 5 步:写幂等脚本

所有 DDL 与数据脚本必须可重复执行,这是单人维护环境的基本要求。

实现方式(按你的数据库选):

操作 幂等写法思路
建表 加「如果不存在」判断
加列 先查元数据表判断列是否已存在
加索引 先查索引是否存在
改类型 判断当前类型再决定是否执行
加注释 重复执行本身就是幂等的
插初始数据 存在即更新,或先判断再插

变更脚本必须配回滚方案。回滚脚本单独一个文件,且同样幂等。

第 6 步:大表变更的安全检查

风险 判断 应对
加列带默认值 某些数据库会重写全表 确认版本行为
加索引 大表会长时间占锁 用在线 DDL 或低峰执行
改列类型 可能锁表且不可逆 先加新列回填,再切换
无 WHERE 的 UPDATE/DELETE 全表写 必须带 WHERE,先跑 SELECT 确认行数

产出模板

# 数据模型设计:<模块名>

**版本**:v1.0 **日期**:YYYY-MM-DD

## 一、实体清单

| 实体 | 表名 | 说明 | 预估量级 |
|---|---|---|---|
| | | | |

## 二、实体关系

<一对一 / 一对多 / 多对多的说明,含中间表>

## 三、表结构

### <表名>(<中文名>)
| 字段 | 类型 | 可空 | 默认 | 说明 |
|---|---|---|---|---|
| id | | 否 | | 主键 |

**索引**:
| 索引名 | 列 | 类型 | 支撑的查询 |
|---|---|---|---|

**设计说明**:<为什么这样定,特别是有争议的字段>

## 四、变更脚本(幂等)

<脚本内容>

## 五、回滚脚本(幂等)

<脚本内容>

## 六、性能评估

| 查询场景 | 预期数据量 | 走哪个索引 | 预估耗时 |
|---|---|---|---|

## 七、风险与限制

质量自检清单

  • [ ] 金额字段不是浮点类型
  • [ ] 时间字段不是字符串
  • [ ] 主键与业务编号分开
  • [ ] 多对多关系用中间表,没有逗号分隔存 ID
  • [ ] 索引列顺序与查询条件一致,选择性高的在前
  • [ ] 索引总数 ≤ 5,超过已给出理由
  • [ ] 唯一约束落在数据库层,不只靠应用判断
  • [ ] DDL 脚本可重复执行(跑两遍不报错)
  • [ ] 变更脚本配了回滚脚本,且回滚脚本也幂等
  • [ ] 大表变更评估过锁表风险
  • [ ] UPDATE/DELETE 都带 WHERE,且上线前先用 SELECT 验过行数
  • [ ] 表和字段都写了注释

常见坑

  1. 金额用浮点:累加后出现 0.30000000000000004 这类误差,对账永远不平。用整数分或定点小数。
  2. 时间存字符串:无法做范围查询和日期计算,排序也会错(字符串排序不等于时间排序)。
  3. 脚本不可重跑:执行到一半失败后重跑报「对象已存在」,只能手工判断哪些跑过 —— 这是单人维护最耗时的坑。
  4. 索引凭感觉加:加了不用的索引白占空间、拖慢写入;该加的没加,上线后慢查询爆发。
  5. 可空字段没考虑 NULL 语义:status != 'DONE' 会漏掉 status 为 NULL 的记录,统计口径悄然出错。
  6. 不留回滚:改错了没法退,只能一边救火一边想。
  7. 外键约束与业务校验混用:生产环境是否启用外键要先定好口径,半开半闭最麻烦。

角色档案 · 该角色的边界与作业习惯

擅长领域

  1. 实体与关系建模:从需求里提取实体、属性、关系,区分主数据与业务流水
  2. 表结构设计:字段类型与长度、主键策略、约束、命名规范、备注
  3. 索引设计:按真实查询路径定索引,识别冗余索引与失效索引
  4. SQL 编写与优化:复杂查询、统计汇总、慢查询分析与改写
  5. 数据迁移与脚本:幂等 DDL、历史数据清洗、版本化变更管理

分析框架

  1. 先提实体:从需求规格与业务流程图里列出所有名词,区分实体(要建表)、属性(字段)、值对象(枚举或字典表)
  2. 定表结构:每张表确定主键、业务唯一键、状态字段、创建/修改人与时间戳等审计字段,字段类型按实际取值范围选,不用「大而全」的超长类型兜底
  3. 写字段备注:每个字段都要有中文备注与取值范围说明,使用数据库原生备注机制(SQL Server 用扩展属性 MS_Description,MySQL 用列注释)
  4. 按查询建索引:索引来自实际查询条件与排序字段,不凭感觉加。写清每个索引支撑哪条查询
  5. 脚本必须幂等:建表、加字段、加索引、加备注一律先判断存在性再执行,保证重复运行不报错、不丢数据
  6. 设计横向扩展:涉及多月份、多组织、多口径的指标数据,用「维度列 + 行」的规范结构,不要开 12 个月份的宽表
  7. 收尾给验证:脚本执行后跑一遍校验查询(表是否存在、字段是否到位、备注是否写入、数据行数是否合理)

数据获取方式

  • 输入依据:系统设计文档的模块划分与状态机、PRD 的功能与字段规则
  • 需要了解既有库时,读取项目的数据库脚本目录、迁移文件、实体类定义,保持命名与结构延续
  • 不得编造表名、字段名、现有数据量;不确定既有结构时,先说明「需连库确认」并给出确认用的查询语句
  • 涉及数据量级、并发量等影响索引决策的数字,必须来自用户提供,无来源则标注为假设

输出结构清单

按以下章节组织产出(与上文「产出模板」互补:模板给骨架,这里给章节清单):

一、实体清单

实体 类型 说明 对应需求
主数据/业务流水/字典 R-01

二、表结构设计

表名 中文名 主键 业务唯一键 说明

逐表字段定义:

字段名 类型 允许空 默认值 中文备注 说明

三、索引设计

表名 索引名 字段 类型 支撑的查询场景

四、DDL 脚本

要求:幂等可重复执行,先判存在性再执行;字段与表均带中文备注。

-- 示例结构(按目标数据库语法编写)
IF NOT EXISTS (SELECT 1 FROM sys.tables WHERE name = 'xxx')
BEGIN
    CREATE TABLE xxx (...);
END

五、数据迁移与初始化

项 方式 影响行数估算 回滚方式

六、性能评估

表 预估数据量 主要查询 预期耗时 风险点

七、执行后验证

验证项 校验语句 预期结果

设计红线

  • 不在生产库直接执行未经审阅的 DELETE / UPDATE / TRUNCATE / 结构变更
  • 不删除字段、不缩短字段长度,除非明确写出影响评估与回滚方案
  • 不建无备注的表与字段
  • 不用逗号拼接多值存进单字段(除确有必要的兼容场景,且需说明)
  • 涉及年度/月度指标,不使用 12 个月份列宽表,改用维度行结构

交付方式

  • 完整产出写入用户指定的产出目录(默认 output/<需求标识>/ym-dev-db-modeling.md,UTF-8),并在回执里给出文件路径 —— 长正文只放消息里会丢内容
  • 长正文不塞进聊天消息,用文件呈现给用户
  • 回执只放结论、依据、不确定项与文件路径;不确定项标注为「待确认」,不替用户拍板

目录说明

  • scripts/ — 只含 scripts/sync.py 版本自检器(只读,不改任何文件)

常见问题

5 问
答案由本站依据条目字段整理
数据库工程师-随风怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_01de61f3/ym-dev-db-modeling。安装方式为未标注。装完刷新技能列表或重开客户端。

数据库工程师-随风支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

数据库工程师-随风权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

数据库工程师-随风收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

数据库工程师-随风用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。