数据库设计模版
本技能提供标准化的数据库设计文档和SQL脚本模版,确保数据库设计项目的一致性。
数据库设计文档模版
1. 表设计模版
markdown
## 表设计 ### [中文表名称(英文表名称)] #### 表说明 [表的业务说明和用途] #### 表结构 | 字段名 | 类型 | 长度 | 允许空 | 默认值 | 说明 | |--------|------|------|--------|--------|------| | 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. 表关系模版
markdown
## 表关系设计 ### ER图说明 [描述表之间的关系] ### 表关系列表 | 表A | 关系类型 | 表B | 关联字段 | 说明 | |-----|----------|-----|----------|------| | [中文表名称A(英文表名称A)] | 一对多 | [中文表名称B(英文表名称B)] | [英文表名称A].id -> [英文表名称B].[英文表名称A]_id | [关系说明] | | [中文表名称A(英文表名称A)] | 多对多 | [中文表名称B(英文表名称B)] | 通过[中间表英文名称]关联 | [关系说明] |
3. SQL脚本模版
sql
-- ============================================= -- 数据库表创建脚本 -- 项目: [项目名称] -- 模块: [模块名称] -- 版本: v1.0 -- 日期: [YYYY-MM-DD] -- ============================================= -- ============================================= -- 表: [中文表名称(英文表名称)] -- 说明: [表的业务说明] -- ============================================= 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. 完整数据库设计文档模版
markdown
# [业务名称]数据库设计文档 ## 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规范
文件结构
使用本技能时,按以下结构组织输出文件:
code
doc/
└── [业务名称]/
├── 数据库设计/
│ ├── [业务名称]数据库设计文档.md
│ ├── [业务名称]表关系文档.md
│ └── [业务名称]数据库脚本.sql
示例输出
参考上述模版查看完整示例:
- •单个表设计文档
- •表关系文档
- •表创建的SQL脚本
- •完整的数据库设计文档