| name | database-design-template |
| description | Provides database design templates and documentation structure. Invoke when designing database schemas, creating database design documents, or generating SQL scripts. |
数据库设计模版
本技能提供标准化的数据库设计文档和SQL脚本模版,确保数据库设计项目的一致性。
数据库设计文档模版
1. 表设计模版
## 表设计
### [中文表名称(英文表名称)]
#### 表说明
[表的业务说明和用途]
#### 表结构
| 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 |
|--------|------|------|--------|--------|------|
| id | bigint | 20 | 否 | - | 主键ID,自增 |
| [英文表名称]_business_id | varchar | 32 | 否 | - | 业务ID,唯一索引 |
| [英文表名称]_[字段名] | [类型] | [长度] | 是 | [默认值] | [字段说明] |
| delete_state | tinyint | 1 | 否 | 0 | 删除标记:0-正常,1-已删除 |
| create_time | datetime | - | 否 | NULL | 创建时间 |
| update_time | datetime | - | 否 | NULL | 更新时间 |
| delete_time | datetime | - | 是 | NULL | 删除时间 |
#### 索引设计
| 索引名 | 索引类型 | 索引字段 | 说明 |
|--------|----------|----------|------|
| pk_id | PRIMARY | id | 主键索引 |
| uk_[英文表名称]_business_id | UNIQUE | [英文表名称]_business_id | 业务ID唯一索引 |
| idx_[字段名] | INDEX | [字段名] | [索引说明] |
#### 表关系
- 与[其他中文表名称(英文表名称)]的关系:[关系类型,如:一对多]
- 关联字段:[关联字段名]
2. 表关系模版
## 表关系设计
### ER图说明
[描述表之间的关系]
### 表关系列表
| 表A | 关系类型 | 表B | 关联字段 | 说明 |
|-----|----------|-----|----------|------|
| [中文表名称A(英文表名称A)] | 一对多 | [中文表名称B(英文表名称B)] | [英文表名称A].id -> [英文表名称B].[英文表名称A]_id | [关系说明] |
| [中文表名称A(英文表名称A)] | 多对多 | [中文表名称B(英文表名称B)] | 通过[中间表英文名称]关联 | [关系说明] |
3. SQL脚本模版
CREATE TABLE `[英文表名称]` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`[英文表名称]_business_id` varchar(32) NOT NULL COMMENT '业务ID',
`[英文表名称]_[字段名]` [类型]([长度]) COMMENT '[字段说明]',
`delete_state` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常,1-已删除',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_[英文表名称]_business_id` (`[英文表名称]_business_id`),
KEY `idx_[字段名]` (`[字段名]`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='[表说明]';
4. 完整数据库设计文档模版
# [业务名称]数据库设计文档
## 1. 文档概述
### 1.1 文档信息
- **文档名称**: [业务名称]数据库设计文档
- **文档版本**: v1.0
- **创建日期**: [YYYY-MM-DD]
- **最后更新**: [YYYY-MM-DD]
- **设计人员**: [设计人员]
### 1.2 设计范围
本文档描述[业务名称]模块的数据库设计,包括表结构、字段定义、索引设计和表关系。
### 1.3 设计原则
- 遵循阿里巴巴Java开发手册MySQL数据库规范
- 表结构设计规范化,减少数据冗余
- 合理使用索引,提升查询性能
- 支持业务扩展和性能优化
## 2. 数据库表设计
[在此处使用"表设计模版"为每个表创建章节]
## 3. 表关系设计
[在此处使用"表关系模版"描述表之间的关系]
使用指南
何时使用本技能
- 设计新的数据库架构 - 使用模版创建一致的表结构
- 创建数据库文档 - 使用文档模版生成完整的设计文档
- 生成SQL脚本 - 使用SQL脚本模版创建表
- 文档化表关系 - 使用关系模版展示ER图
模版选择
- 使用表设计模版进行单个表的文档化
- 使用表关系模版进行表关系的文档化
- 使用SQL脚本模版生成CREATE TABLE语句
- 使用完整数据库设计文档模版进行完整的设计文档化
最佳实践
- 始终用实际的设计信息填充所有模版占位符
- 在所有表中保持命名约定的一致性
- 为所有字段包含详细注释,解释业务含义
- 记录所有索引及其用途和使用场景
- 保持表关系清晰且有良好文档
- 当架构变更时更新文档
与p3c-mysql-database的集成
本模版技能与p3c-mysql-database技能配合使用:
- 使用p3c-mysql-database获取技术规范和编码标准
- 使用本模版技能进行文档结构和格式化
- 确保所有设计符合p3c-mysql-database规范
文件结构
使用本技能时,按以下结构组织输出文件:
doc/
└── [业务名称]/
├── 数据库设计/
│ ├── [业务名称]数据库设计文档.md
│ ├── [业务名称]表关系文档.md
│ └── [业务名称]数据库脚本.sql
示例输出
参考上述模版查看完整示例:
- 单个表设计文档
- 表关系文档
- 表创建的SQL脚本
- 完整的数据库设计文档