126 lines
5.5 KiB
Markdown
126 lines
5.5 KiB
Markdown
# 数据库设计目录
|
|
|
|
## 目录说明
|
|
|
|
此目录用于存放项目的数据库设计相关文档和脚本文件。
|
|
|
|
## 📁 目录结构
|
|
|
|
```
|
|
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` 中现有表的设计规范
|