mcpField
R
relational-database-design

relational-database-design

github.com/pproenca数据与数据库21875 次安装11 周前更新
代码仓库

关于 relational-database-design

用于逻辑层面设计和审查关系型数据库结构的技能,不依赖特定 RDBMS。规则涵盖表、字段、键、关系和完整性,不涉及物理实现问题。

主要功能

  1. 01与 RDBMS 无关的逻辑设计
  2. 02表与字段设计指南
  3. 03候选键、主键和外键规则
  4. 04关系与删除规则建模
  5. 05完整性约束、验证表和视图
  6. 06反模式与术语参考

适用场景

  1. 01根据需求设计数据库结构
  2. 02审查或重构现有结构
  3. 03处理重复组和冗余数据
  4. 04诊断结构导致的数据丢失或损坏

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill relational-database-design

安装后在 Claude Code 中输入/relational-database-design确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
gotchas.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
anti-bend-rules-only-deliberately.md
anti-flat-file-design.md
anti-rdbms-driven-design.md
anti-spreadsheet-as-database.md
fld-clear-singular-field-names.md
fld-derive-dont-store-calculated-values.md
fld-ideal-field-checklist.md
fld-keep-fields-atomic.md
fld-store-single-values-not-lists.md
intg-database-vs-application-rules.md
intg-field-specifications.md
intg-four-levels-of-data-integrity.md
intg-validation-tables-for-allowed-values.md
intg-views-for-derived-and-restricted-data.md
key-candidate-key-elements.md
key-foreign-key-mirrors-its-primary-key.md
key-one-primary-key-per-table.md
key-prefer-stable-non-sensitive-keys.md
proc-analyze-and-interview-before-designing.md
proc-design-logically-before-choosing-rdbms.md
proc-follow-the-design-sequence.md
proc-normalization-is-built-in.md
proc-start-from-mission-and-objectives.md
rel-deletion-rule-guards-orphans.md
rel-foreign-key-on-the-many-side.md

详细介绍

关系数据库设计

一种与 RDBMS 无关的逻辑方法,用于设计健全的关系数据库——说明架构会带来哪些决策,以及严谨的逻辑设计方法如何解决这些问题,便于 Agent 在设计或审查架构时应用。每条规则都指出并纠正一个具体的错误默认做法;对于模型本来就能正确处理的事项,不另设规则。

整套方法首先生成逻辑结构——组织信息所需的表、字段、键、关系和完整性规则,并有意将其与任何特定 RDBMS 产品或物理性能方面的考量分离。若严格遵循,就能得到完全规范化的表,无需把规范化视为单独的后端阶段。

适用场景

  • 根据需求设计新的关系架构
  • 审查或重构现有架构,确保其结构健全
  • 处理重复组、多值/多部分字段或冗余数据
  • 为表选择候选键、主键和外键
  • 建模一对一、一对多、多对多或自引用关系
  • 决定删除规则(限制、级联、置空、拒绝、设为默认值)和参与约束
  • 决定约束应归属何处——字段规范、关系、验证表或应用程序
  • 诊断会重复、丢失或损坏数据的架构

本技能涵盖逻辑设计,不涵盖 SQL 方言、索引、分区、查询调优或分析/维度(星型架构)建模——这些属于物理/实现层面的事项,应在逻辑设计健全后处理。

规则类别

#类别前缀涵盖内容
1设计流程与需求proc-在选择 RDBMS 前进行逻辑设计,遵循设计顺序,从使命与分析出发,规范化内置于设计之中
2表结构tbl-每张表只表示一个主题,理想的表,不使用引用字段,尽量减少冗余
3字段设计fld-理想的字段、单一值、原子字段、不存储计算结果、名称清晰
4键key-候选键元素、每张表一个主键、外键与主键保持一致、稳定且不敏感的键
5关系rel-多对多关系使用联结表、外键位置、删除规则、参与约束、自引用关系
6数据完整性、规则与视图intg-四种完整性级别、字段规范、数据库规则与应用程序规则、验证表、视图
7反模式anti-平面文件、把电子表格当作数据库、由 RDBMS 驱动的设计,以及何时可以合理地变通
8术语term-数据与信息、空值、核心关系数据库术语

快速参考

1. 设计流程与需求
2. 表结构
3. 字段设计
4. 键
5. 关系
6. 数据完整性、规则与视图
7. 反模式
8. 术语

使用方法

遇到相关决策时,请阅读对应的参考文件。每条规则都会指出它要纠正的错误默认做法,然后展示规范做法(仅当错误做法确实容易导致问题时,才会对比错误与正确做法)。

参考文件

文件说明
references/_sections.md类别定义及排序
assets/templates/_template.md新规则模板
metadata.json版本和来源参考

评论

支持 Markdown