# 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 通过纯值映射,不依赖导航属性