87 lines
2.6 KiB
Markdown
87 lines
2.6 KiB
Markdown
# Data Model: Gpulse.WCT.DataAnalyzer
|
||
|
||
> 双数据库数据模型:本地解析库 + 正式发布库,相互独立。
|
||
|
||
---
|
||
|
||
## 文档索引
|
||
|
||
### 本地库(local.db)
|
||
|
||
| 文档 | 说明 |
|
||
|------|------|
|
||
| [TX面板维度](./entities/TxPanel维度.md) | TX面板类型维度 |
|
||
| [TX硬件版本维度](./entities/TxHardware维度.md) | TX硬件版本维度 |
|
||
| [TX软件版本维度](./entities/TxSoftware维度.md) | TX软件版本维度 |
|
||
| [RX类型维度](./entities/RxType维度.md) | RX类型维度 |
|
||
| [测试场景实体](./entities/测试场景.md) | 测试场景(外键组合) |
|
||
| [Qfod 记录实体](./entities/Qfod记录.md) | Qfod 检测数据 |
|
||
| [Ploss 记录实体](./entities/Ploss记录.md) | Ploss FOD 数据 |
|
||
| [关系说明](./关系说明.md) | 本地库实体间关系 |
|
||
|
||
### 发布库(release.db)
|
||
|
||
| 实体 | 表 | 说明 |
|
||
|------|----|------|
|
||
| ChargingParameterRecord | charging_parameter | 正式充电参数记录 |
|
||
|
||
---
|
||
|
||
## 架构概览
|
||
|
||
```mermaid
|
||
erDiagram
|
||
%% 本地库
|
||
tx_panel ||--o{ test_scenario : "引用"
|
||
tx_hardware ||--o{ test_scenario : "引用"
|
||
tx_software ||--o{ test_scenario : "引用"
|
||
rx_type ||--o{ test_scenario : "引用"
|
||
test_scenario ||--o{ qfod_record : "包含"
|
||
test_scenario ||--o{ ploss_record : "包含"
|
||
|
||
%% 发布库(独立)
|
||
charging_parameter {
|
||
uuid id PK
|
||
varchar car_factory UK
|
||
varchar car_model UK
|
||
varchar phone_brand UK
|
||
varchar phone_model UK
|
||
double power_350mw
|
||
double power_500mw
|
||
double power_750mw
|
||
double power_1000mw
|
||
double power_1250mw
|
||
double power_1500mw
|
||
double power_1750mw
|
||
double power_2000mw
|
||
double power_2250mw
|
||
double q_value
|
||
double q_base_value
|
||
double pq_coefficient
|
||
double resonance_frequency
|
||
}
|
||
```
|
||
|
||
框外是本地库,框内是发布库——两库之间没有外键或导航属性。
|
||
|
||
## 设计说明
|
||
|
||
### 本地库:星型模型
|
||
|
||
- 维度表:TxPanel, TxHardware, TxSoftware, RxType
|
||
- 事实表:TestScenario, QfodRecord, PlossRecord
|
||
- 所有表支持软删除(is_deleted + query filter)
|
||
|
||
### 发布库:独立扁平表
|
||
|
||
- 一个业务多维表,无外键依赖
|
||
- 唯一键:(car_factory, car_model, phone_brand, phone_model)
|
||
- 无 is_deleted、无软删除、无审计字段
|
||
- 更新时间 updated_at 记录发布记录的最后变更时间
|
||
|
||
### 隔离原则
|
||
|
||
- 代码中两个实体的命名空间不同(Domain.Models)
|
||
- 两个 DbContext 不共享 DbSet
|
||
- 发布库不从本地库继承实体配置
|
||
- aggregate 通过纯值映射,不依赖导航属性 |