Files
hzdyjs/docs/design/database
2025-06-26 18:30:03 +08:00
..
2025-06-26 18:30:03 +08:00
2025-06-26 18:30:03 +08:00
2025-06-26 18:30:03 +08:00

数据库设计目录

目录说明

此目录用于存放项目的数据库设计相关文档和脚本文件。

📁 目录结构

database/
├── README.md                    # 本说明文件
├── hzdyjs_xg.sql               # 完整数据库模型 (当前系统的完整表结构)
├── database_msg.md             # 数据库环境配置信息
├── 数据库设计说明.md             # 整体数据库设计文档
├── ER图设计文档.md               # 实体关系图设计
├── 表结构设计.md                 # 详细表结构和字段说明
├── 数据字典.md                   # 数据字典和编码规范
├── DDL/                         # 数据定义语言脚本
│   ├── system/                  # 系统核心表
│   │   ├── sys_tables.sql       # 系统管理表
│   │   ├── auth_tables.sql      # 权限认证表
│   │   └── tenant_tables.sql    # 多租户表
│   ├── business/                # 业务模块表
│   │   ├── hq_tables.sql        # 后勤管理相关表
│   │   └── custom_tables.sql    # 自定义业务表
│   ├── indexes.sql              # 索引创建脚本
│   └── constraints.sql          # 约束创建脚本
├── DML/                         # 数据操作语言脚本
│   ├── init_data.sql            # 初始化数据脚本
│   ├── dict_data.sql            # 字典数据脚本
│   ├── menu_data.sql            # 菜单权限数据
│   └── test_data.sql            # 测试数据脚本
├── models/                      # 数据模型文件
│   ├── erd/                     # ER图文件
│   │   ├── system_erd.drawio    # 系统模块ER图
│   │   ├── business_erd.drawio  # 业务模块ER图
│   │   └── complete_erd.png     # 完整ER图导出
│   └── schema/                  # 数据库schema文件
│       ├── mysql_schema.sql     # MySQL数据库schema
│       ├── oracle_schema.sql    # Oracle数据库schema
│       └── postgres_schema.sql  # PostgreSQL数据库schema
└── migration/                   # 数据库迁移脚本
    ├── v5.0_to_v5.1/           # 版本升级脚本
    ├── v5.1_to_v5.2/
    └── rollback/                # 回滚脚本

🎯 不同类型数据模型的存放建议

0. 当前完整数据库模型

  • 主模型文件: docs/design/database/hzdyjs_xg.sql
  • 内容: 当前系统的完整数据库表结构,包含所有业务表和系统表
  • 说明: 包含宿舍管理 (bed**, dormitory*_)、工作流 (flow__) 等业务模块
  • 环境配置: docs/design/database/database_msg.md 包含开发环境数据库连接信息

1. 系统核心数据模型

  • 位置: docs/design/database/DDL/system/
  • 内容: 系统管理、权限认证、多租户等核心表结构
  • 示例: sys_user, sys_role, sys_menu, sys_tenant

2. 业务模块数据模型

  • 位置: docs/design/database/DDL/business/
  • 内容: 具体业务功能相关的表结构
  • 示例: 后勤管理、报告厅预约、满意度调查等

3. 初始化和测试数据

  • 位置: docs/design/database/DML/
  • 内容: 系统初始化数据、字典数据、测试数据等

4. ER 图和设计文档

  • 位置: docs/design/database/models/
  • 内容: 数据库设计图表、关系图、设计说明等

5. 版本升级脚本

  • 位置: docs/design/database/migration/
  • 内容: 数据库版本升级脚本、数据迁移脚本等

🔄 与现有目录的关联

现有 SQL 脚本位置

  • 当前完整模型: docs/design/database/hzdyjs_xg.sql → 当前系统的完整数据库模型 (3638 行)
  • 环境配置: docs/design/database/database_msg.md → 开发环境数据库连接信息
  • 框架主脚本: script/sql/ry_vue_5.X.sql → 参考并拆分到对应模块
  • 更新脚本: script/sql/update/ → 整理到 migration 目录
  • 业务脚本: docs/requirements/*/ → 移动到 business 目录

同步规则

  1. 新表设计: 先在docs/design/database/中设计,再更新到script/sql/
  2. 表结构变更: 同时更新设计文档和升级脚本
    • 必须同步更新: docs/design/database/hzdyjs_xg.sql 中的表结构
    • 环境配置变更: 及时更新 docs/design/database/database_msg.md
  3. 文档维护: 每次数据库变更都要更新相关设计文档

📝 文件命名规范

DDL 脚本命名

  • 系统表: sys_*.sql (如: sys_user.sql)
  • 业务表: 模块前缀_*.sql (如: hq_survey.sql)
  • 索引脚本: idx_表名.sql (如: idx_sys_user.sql)

文档命名

  • 设计文档: 使用中文描述性名称
  • ER 图文件: 模块名_erd.drawio
  • 导出图片: 模块名_erd.png

⚠️ 注意事项

  1. 版本控制: 所有 DDL 变更都要记录版本和变更原因
  2. 多数据库支持: 考虑 MySQL、Oracle、PostgreSQL 的兼容性
  3. 命名规范: 遵循框架统一的命名规范(下划线命名法)
  4. 文档同步: 表结构变更必须同时更新设计文档
    • 关键文件: hzdyjs_xg.sql 必须保持最新的完整表结构
    • 环境安全: database_msg.md 中的密码信息注意安全保护
  5. 备份策略: 重要脚本变更前要备份现有版本
  6. 当前系统参考: 新增表结构应参考 hzdyjs_xg.sql 中现有表的设计规范