mcpField
D
database-schema-design

database-schema-design

github.com/aj-geddes数据与数据库373593 次安装34 周前更新
代码仓库

关于 database-schema-design

这是一项用于规划规范化数据库架构、关系、约束和数据类型的参考技能。它面向设计新数据库或审查表结构的开发者,包含 1NF、2NF、3NF 和实体关系模式指南。

主要功能

  1. 011NF、2NF 和 3NF 指南
  2. 02实体关系模式指导
  3. 03关系与约束建议
  4. 04PostgreSQL 规范化示例

适用场景

  1. 01规划新的数据库架构
  2. 02定义表结构与关系
  3. 03审查规范化和约束

安装

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

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill database-schema-design

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

包含的文件

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

references/
entity-relationship-patterns.md
first-normal-form-1nf.md
second-normal-form-2nf.md
third-normal-form-3nf.md
scripts/
validate-schema.sh
templates/
migration-template.sql

详细介绍

数据库架构设计

目录

概述

设计可扩展、规范化的数据库架构,并设置恰当的关系、约束和数据类型。涵盖规范化技术、关系模式和约束策略。

适用场景

  • 设计新的数据库架构
  • 规划数据模型
  • 定义表结构
  • 设计关系(1:1、1:N、N:N)
  • 分析规范化
  • 规划约束和触发器
  • 在架构层面优化性能

快速入门

PostgreSQL——消除重复组:

-- NOT 1NF: repeating group in single column
CREATE TABLE orders_bad (
  id UUID PRIMARY KEY,
  customer_name VARCHAR(255),
  product_ids VARCHAR(255)  -- "1,2,3" - repeating group
);

-- 1NF: separate table for repeating data
CREATE TABLE orders (
  id UUID PRIMARY KEY,
  customer_name VARCHAR(255),
  created_at TIMESTAMP DEFAULT NOW()
);

CREATE TABLE order_items (
  id UUID PRIMARY KEY,
  order_id UUID NOT NULL,
  product_id UUID NOT NULL,
  quantity INTEGER NOT NULL,
  FOREIGN KEY (order_id) REFERENCES orders(id) ON DELETE CASCADE
);

参考指南

references/ 目录中的详细实现:

指南内容
第一范式(1NF)第一范式(1NF)
第二范式(2NF)第二范式(2NF)
第三范式(3NF)第三范式(3NF)
实体关系模式实体关系模式

最佳实践

✅ 应该做
  • 遵循成熟的模式和惯例
  • 编写整洁、易维护的代码
  • 添加恰当的文档
  • 部署前进行充分测试
❌ 不应该做
  • 跳过测试或验证
  • 忽略错误处理
  • 将配置值硬编码

评论

支持 Markdown