关于 database-schema-design
这是一项用于规划规范化数据库架构、关系、约束和数据类型的参考技能。它面向设计新数据库或审查表结构的开发者,包含 1NF、2NF、3NF 和实体关系模式指南。
主要功能
- 011NF、2NF 和 3NF 指南
- 02实体关系模式指导
- 03关系与约束建议
- 04PostgreSQL 规范化示例
适用场景
- 01规划新的数据库架构
- 02定义表结构与关系
- 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.mdfirst-normal-form-1nf.mdsecond-normal-form-2nf.mdthird-normal-form-3nf.mdscripts/validate-schema.shtemplates/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