| name | database-design |
| description | 数据库设计规范与优化指南 |
| version | 1.0.0 |
| category | development |
| triggers | ["database design","数据库设计","SQL 优化","表设计","数据库规范"] |
| scriptPath | check-db.sh |
| scriptType | bash |
| autoExecute | true |
| scriptTimeout | 10 |
数据库设计规范技能包
设计高效、可维护的数据库结构。
表设计原则
1. 命名规范
表名:
- 小写字母 + 下划线
- 使用复数形式
- 示例:
users, order_items, user_profiles
字段名:
- 小写字母 + 下划线
- 见名知意
- 示例:
created_at, user_id, email_address
索引名:
PRIMARY KEY pk_users
UNIQUE INDEX uk_users_email
INDEX idx_users_created_at
FOREIGN KEY fk_orders_users
2. 字段类型选择
| 数据类型 | 使用场景 | 示例 |
|---|
| INT/BIGINT | ID、数量、年龄 | user_id BIGINT |
| VARCHAR | 变长字符串 | name VARCHAR(100) |
| CHAR | 定长字符串 | country_code CHAR(2) |
| TEXT | 长文本 | description TEXT |
| DECIMAL | 金额、精确数值 | price DECIMAL(10,2) |
| DATETIME | 日期时间 | created_at DATETIME |
| ENUM | 固定选项 | status ENUM('active','inactive') |
| BOOLEAN | 布尔值 | is_deleted BOOLEAN |
注意:
- 避免使用 FLOAT/DOUBLE 存储金额
- VARCHAR 长度设置合理(避免过大)
- 时间字段统一使用 DATETIME 或 TIMESTAMP
3. 主键设计
推荐:
id AUTO_INCREMENT
id COMMENT
id () COMMENT