5.5 KiB
5.5 KiB
数据库设计目录
目录说明
此目录用于存放项目的数据库设计相关文档和脚本文件。
📁 目录结构
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 目录
同步规则
- 新表设计: 先在
docs/design/database/中设计,再更新到script/sql/ - 表结构变更: 同时更新设计文档和升级脚本
- 必须同步更新:
docs/design/database/hzdyjs_xg.sql中的表结构 - 环境配置变更: 及时更新
docs/design/database/database_msg.md
- 必须同步更新:
- 文档维护: 每次数据库变更都要更新相关设计文档
📝 文件命名规范
DDL 脚本命名
- 系统表:
sys_*.sql(如: sys_user.sql) - 业务表:
模块前缀_*.sql(如: hq_survey.sql) - 索引脚本:
idx_表名.sql(如: idx_sys_user.sql)
文档命名
- 设计文档: 使用中文描述性名称
- ER 图文件:
模块名_erd.drawio - 导出图片:
模块名_erd.png
⚠️ 注意事项
- 版本控制: 所有 DDL 变更都要记录版本和变更原因
- 多数据库支持: 考虑 MySQL、Oracle、PostgreSQL 的兼容性
- 命名规范: 遵循框架统一的命名规范(下划线命名法)
- 文档同步: 表结构变更必须同时更新设计文档
- 关键文件:
hzdyjs_xg.sql必须保持最新的完整表结构 - 环境安全:
database_msg.md中的密码信息注意安全保护
- 关键文件:
- 备份策略: 重要脚本变更前要备份现有版本
- 当前系统参考: 新增表结构应参考
hzdyjs_xg.sql中现有表的设计规范