Skip to content

数据库设计检查清单

阶段编号: 3-02
阶段名称: 数据库设计
阶段目标: 完成数据库逻辑设计、物理设计,建立数据字典,输出完整的数据库设计方案
阶段状态: ✅ 已完成


一、阶段概述

1.1 阶段目标

完成数据库逻辑模型设计、物理模型设计、索引设计、分区设计,建立完整的数据字典,为后续开发提供数据库基础。

1.2 阶段范围

  • 逻辑数据模型设计(ER图)
  • 物理数据模型设计(表结构)
  • 数据库索引设计
  • 数据库分区设计
  • 数据库备份策略
  • 数据字典建立
  • SQL脚本编写

1.3 输入文档

  • 架构设计文档(逻辑架构、数据架构)
  • 领域模型设计
  • 业务需求文档(BRD)
  • 架构基线文档

1.4 输出文档

  • 数据库设计文档(6个)
  • 数据字典文档(3个)
  • SQL脚本
  • 数据库评审文档(5个)

二、规范章节

2.1 数据库设计规范文件清单

数据库设计阶段需要创建的规范文件:

序号规范文件文件路径状态
1数据库命名规范01-database-design-standard/01-database-naming-convention.md✅ 已完成
2SQL编码规范01-database-design-standard/02-sql-coding-standard.md✅ 已完成
3数据库评审规范01-database-design-standard/03-database-review-standard.md✅ 已完成
4数据字典规范01-database-design-standard/04-data-dictionary-standard.md✅ 已完成

2.2 规范文件说明

2.2.1 数据库命名规范

内容要求:

  • 数据库命名规则
  • 表命名规则
  • 字段命名规则
  • 索引命名规则
  • 约束命名规则
  • 视图命名规则

2.2.2 SQL编码规范

内容要求:

  • SQL语句编写规范
  • 注释规范
  • 缩进和格式规范
  • 性能优化建议
  • 安全编码要求

2.2.3 数据库评审规范

内容要求:

  • 评审检查项清单
  • 评审流程说明
  • 评审标准定义
  • 问题分级标准

2.2.4 数据字典规范

内容要求:

  • 数据字典格式规范
  • 字段描述规范
  • 枚举值定义规范
  • 数据字典维护流程

三、任务清单

1. 数据库设计

目标: 完成数据库逻辑设计和物理设计
状态: ✅ 已完成

1.1 逻辑数据模型

  • [√] ER图设计

    • 实体识别与定义
    • 实体关系定义(1:1, 1:N, M:N)
    • 业务规则映射
    • 输出: 02-database-design/01-logical-data-model.md
  • [√] 数据实体清单

    • 实体名称、描述、属性
    • 实体关系说明
    • 输出: 02-database-design/01-logical-data-model.md

1.2 物理数据模型

  • [√] 表结构设计

    • 表名、字段名、数据类型
    • 字段长度、精度、默认值
    • 是否为空、注释
    • 输出: 02-database-design/02-physical-data-model.md
  • [√] 约束设计

    • 主键约束(Primary Key)
    • 外键约束(Foreign Key)
    • 唯一约束(Unique)
    • 检查约束(Check)
    • 输出: 02-database-design/02-physical-data-model.md
  • [√] 评审记录

    • 数据库设计评审记录
    • 输出: 02-database-design/06-database-design-review-record.md

1.3 索引设计

  • [√] 主键索引

    • 每个表必须有主键
    • 主键选择策略(自增ID、UUID、业务主键)
    • 输出: 02-database-design/03-database-index-design.md
  • [√] 外键索引

    • 外键字段自动创建索引
    • 关联查询优化
    • 输出: 02-database-design/03-database-index-design.md
  • [√] 业务索引

    • 查询条件字段索引
    • 联合索引设计
    • 覆盖索引设计
    • 输出: 02-database-design/03-database-index-design.md

1.4 分区设计

  • [√] 分区策略

    • 范围分区(Range)
    • 列表分区(List)
    • 哈希分区(Hash)
    • 输出: 02-database-design/04-database-partition-design.md
  • [√] 分区键选择

    • 时间字段分区
    • 业务字段分区
    • 输出: 02-database-design/04-database-partition-design.md

1.5 备份策略

  • [√] 备份方案

    • 全量备份策略
    • 增量备份策略
    • 备份保留周期
    • 输出: 02-database-design/05-database-backup-strategy.md
  • [√] 恢复策略

    • 恢复时间目标(RTO)
    • 恢复点目标(RPO)
    • 恢复演练计划
    • 输出: 02-database-design/05-database-backup-strategy.md

2. 数据字典

目标: 建立完整的数据字典
状态: ✅ 已完成

2.1 系统数据字典

  • [√] 系统配置表字典

    • 配置项名称、类型、说明
    • 配置项取值范围
    • 输出: 03-data-dictionary/01-system-data-dictionary.md
  • [√] 系统日志表字典

    • 日志类型、字段说明
    • 日志保留策略
    • 输出: 03-data-dictionary/01-system-data-dictionary.md

2.2 业务数据字典

  • [√] 用户相关表字典

    • 用户表、角色表、权限表
    • 部门表、岗位表
    • 输出: 03-data-dictionary/02-business-data-dictionary.md
  • [√] 业务数据表字典

    • 业务实体表字段说明
    • 枚举值定义
    • 业务规则说明
    • 输出: 03-data-dictionary/02-business-data-dictionary.md
  • [√] 评审记录

    • 数据字典评审记录
    • 输出: 03-data-dictionary/03-data-dictionary-review-record.md

3. SQL脚本

目标: 编写完整的SQL脚本
状态: ✅ 已完成

3.1 DDL脚本

  • [√] 数据库创建脚本

    • 创建数据库
    • 设置字符集、排序规则
    • 输出: 04-sql-scripts/01-ddl-scripts/01-create-database.sql
  • [√] 表创建脚本

    • 创建所有表结构
    • 设置字段属性、约束
    • 输出: 04-sql-scripts/01-ddl-scripts/02-create-tables.sql
  • [√] 索引创建脚本

    • 创建主键索引
    • 创建外键索引
    • 创建业务索引
    • 输出: 04-sql-scripts/01-ddl-scripts/03-create-indexes.sql
  • [√] 约束创建脚本

    • 创建外键约束
    • 创建唯一约束
    • 创建检查约束
    • 输出: 04-sql-scripts/01-ddl-scripts/04-create-constraints.sql
  • [√] 视图创建脚本

    • 创建业务视图
    • 创建统计视图
    • 输出: 04-sql-scripts/01-ddl-scripts/05-create-views.sql

3.2 DML脚本

  • [√] 系统初始数据

    • 系统配置数据
    • 字典数据
    • 输出: 04-sql-scripts/02-dml-scripts/01-init-data.sql
  • [√] 业务初始数据

    • 基础业务数据
    • 测试数据(可选)
    • 输出: 04-sql-scripts/02-dml-scripts/01-init-data.sql

3.3 DCL脚本

  • [√] 权限配置脚本
    • 创建数据库用户
    • 分配表权限
    • 输出: 04-sql-scripts/03-dcl-scripts/01-grant-permissions.sql

3.4 迁移脚本

  • [√] 版本迁移脚本
    • 数据库版本管理
    • 迁移脚本规范
    • 输出: 04-sql-scripts/04-migration-scripts/README.md

3.5 SQL脚本审核记录

  • [√] SQL脚本审核
    • 审核DDL/DML/DCL脚本
    • 生成审核记录
    • 输出: 04-sql-scripts/sql-scripts-review-record.md

4. 数据库评审

目标: 完成数据库设计评审,建立数据库基线
状态: ✅ 已完成

4.1 评审准备

  • [√] 评审通知

    • 评审会议通知
    • 评审材料准备
    • 输出: 05-database-review/01-database-review-notice.md
  • [√] 评审议程

    • 评审会议议程
    • 评审检查项
    • 输出: 05-database-review/02-database-review-agenda.md

4.2 评审执行

  • [√] 评审报告

    • 评审内容记录
    • 问题清单
    • 评审结论: 通过
    • 输出: 05-database-review/03-database-review-report.md
  • [√] 评审记录

    • 会议记录
    • 决议记录
    • 输出: 05-database-review/04-database-review-record.md

4.3 基线建立

  • [√] 数据库基线
    • 基线文档
    • 基线确认签字
    • 基线版本: V1.0.0
    • 输出: 05-database-review/05-database-baseline.md

四、输出文档清单

数据库设计文档(SYS-DB-DES)

序号文档名称文档编号状态位置
1逻辑数据模型SYS-DB-DES-001✅ 已完成02-database-design/01-logical-data-model.md
2物理数据模型SYS-DB-DES-002✅ 已评审02-database-design/02-physical-data-model.md
3数据库索引设计SYS-DB-DES-003✅ 已完成02-database-design/03-database-index-design.md
4数据库分区设计SYS-DB-DES-004✅ 已完成02-database-design/04-database-partition-design.md
5数据库备份策略SYS-DB-DES-005✅ 已完成02-database-design/05-database-backup-strategy.md
6数据库设计评审记录SYS-DB-DES-006✅ 已完成02-database-design/06-database-design-review-record.md

数据字典文档(SYS-DB-DICT)

序号文档名称文档编号状态位置
1系统数据字典SYS-DB-DICT-001✅ 已评审03-data-dictionary/01-system-data-dictionary.md
2业务数据字典SYS-DB-DICT-002✅ 已评审03-data-dictionary/02-business-data-dictionary.md
3数据字典评审记录SYS-DB-DICT-003✅ 已完成03-data-dictionary/03-data-dictionary-review-record.md

数据库评审文档(SYS-DB-REV)

序号文档名称文档编号状态位置
1数据库评审通知SYS-DB-REV-001✅ 已完成05-database-review/01-database-review-notice.md
2评审会议议程SYS-DB-REV-002✅ 已完成05-database-review/02-database-review-agenda.md
3数据库评审报告SYS-DB-REV-003✅ 已完成05-database-review/03-database-review-report.md
4评审会议记录SYS-DB-REV-004✅ 已完成05-database-review/04-database-review-record.md
5数据库基线SYS-DB-REV-005✅ 已完成05-database-review/05-database-baseline.md

五、数据库设计标准

5.1 命名规范

对象类型命名规则示例
数据库db_系统名db_system
t_模块名_表名t_sys_user
视图v_视图名v_user_role
索引idx_表名_字段名idx_user_name
主键pk_表名pk_user
外键fk_表名_字段名fk_user_dept
字段小写+下划线user_name

5.2 字段类型规范

数据类型使用场景示例
BIGINT主键、大数据量计数用户ID、订单号
INT普通整数状态码、数量
VARCHAR变长字符串用户名、地址
CHAR定长字符串手机号、身份证号
DECIMAL精确小数金额、价格
DATETIME日期时间创建时间、更新时间
DATE日期生日、生效日期
TEXT长文本备注、描述
JSONJSON数据配置、扩展字段

5.3 必备字段

字段名类型说明
idBIGINT主键,自增
create_timeDATETIME创建时间
update_timeDATETIME更新时间
create_byBIGINT创建人ID
update_byBIGINT更新人ID
deletedTINYINT逻辑删除标志
tenant_idBIGINT租户ID(多租户)

六、阶段完成标准

6.1 完成条件

  • [√] 逻辑数据模型完成
  • [√] 物理数据模型完成
  • [√] 索引设计完成
  • [√] 分区设计完成(如需要)
  • [√] 备份策略完成
  • [√] 数据字典完成
  • [√] SQL脚本完成
  • [√] 数据库评审完成
  • [√] 数据库基线已建立

6.2 质量要求

  • [√] 所有表必须有主键
  • [√] 所有字段必须有注释
  • [√] 外键关系必须定义
  • [√] 索引设计合理,避免过多索引
  • [√] 数据字典完整准确
  • [√] SQL脚本可执行,无语法错误

七、修订记录

版本日期作者变更内容
1.02026-03-08架构师初始版本,建立数据库设计检查清单

Released under the MIT License.