Skip to content

ER 模型与表关系

数据库关系以 users 为主轴,向外连接用户档案、评估快照、聊天会话、运动处方、运动记录、审计日志和虚拟陪练。RAG 知识表独立于用户业务表,不挂患者或用户外键。

主关系图

健康档案域profiles / diseases / operations
评估快照域user_health_profiles
RAG 知识域knowledge_chunks
↘ 独立知识库
用户主表users
会话与安全域chat_sessions / dialogue_logs / safety_incidents
处方与运动域sport_schemes / sport_logs
陪伴配置域virtual_companion
审计与弱关联update_logs 等
`knowledge_chunks` 不挂用户外键,但会在 Chat / RAG 链路中提供知识证据。

主图只表达当前数据库的领域骨架。字段级外键、删除规则和弱关联表以表格核对,避免把完整 schema 压缩成不可读的小图。

外键关系

FromToCardinalityDelete rule用途
user_profiles.pk_userusers.pk_user1:1default用户健康档案。
user_diseases.pk_userusers.pk_user1:Ndefault疾病史。
user_operations.pk_userusers.pk_user1:Ndefault手术史。
user_health_profiles.user_idusers.pk_user1:NON DELETE CASCADE评估与安全筛查快照。
chat_sessions.user_idusers.pk_user1:Ndefault会话分组。
dialogue_logs.pk_userusers.pk_user1:Ndefault用户对话记录。
dialogue_logs.session_idchat_sessions.idN:1default会话内消息。
safety_incidents.pk_userusers.pk_user1:Ndefault用户安全事件。
safety_incidents.pk_dialogue_logdialogue_logs.pk_dialogue_logN:1default关联触发事件的对话记录。
sport_schemes.pk_userusers.pk_user1:Ndefault用户运动处方。
sport_logs.pk_userusers.pk_user1:Ndefault用户运动记录。
update_logs.pk_userusers.pk_user1:Ndefault用户资料变更审计。
virtual_companion.pk_userusers.pk_user1:1ON DELETE CASCADE用户虚拟陪练配置。

独立或弱关联表

关系特点说明
dialogue_logs_archive不挂 FK归档快照表,保留原始用户 ID、session ID 和归档批次。
login_logspk_user 未声明 FK登录审计表,用用户 ID 关联业务语义,但生产 schema 未加外键。
sms_verifications不挂 FK按手机号和验证码用途独立校验。
system_configs不挂 FK系统配置与 feature flag。
data_migration_log不挂 FK数据迁移状态记录。
knowledge_chunks不挂用户 FKRAG 知识主表,面向知识检索,不存用户业务归属。
rag_knowledge_itemsrag_vector_index不挂 FKlegacy RAG 表,当前生产行数为 0。

索引与查询意图

关键索引查询意图
usersusers_phone_keyusers_user_no_key登录、注册唯一性校验。
chat_sessionsidx_chat_sessions_user_active_updated会话列表按用户与更新时间读取,过滤软删除。
dialogue_logsidx_dialogue_logs_user_session_createdidx_dialogue_logs_user_hash_created会话历史、幂等键回查。
sport_logsidx_sport_logs_user_created_activeidx_sport_logs_user_start_activeidx_sport_logs_user_unfinished_active历史列表、日历、进行中运动。
sport_schemesidx_sport_schemes_user_createdidx_sport_schemes_user_end_created处方列表与当前活跃方案。
update_logsidx_update_logs_user_created用户资料变更审计。
knowledge_chunksix_knowledge_chunks_embedding_hnsw_cosineix_knowledge_chunks_rag_schemaix_knowledge_chunks_record_type向量检索与 pipeline scope。

日期与时间语义

字段类别表字段类型语义
业务日期user_profiles.diagnosis_dateuser_operations.oprt_timedate医疗历史或业务日期,不表达具体时刻。
运行时间戳sport_logs.*timesport_schemes.create_timeupdate_logs.create_timevirtual_companion.*_attimestamptz运行事件或状态更新时间。
归档时间dialogue_logs_archive.archived_attimestamptz归档动作时间。

来源锚点

  • Production catalog: RDS core_base pg_constraintpg_indexes
  • ORM: apps/backend_service/app/models/
  • Migrations: apps/backend_service/alembic/versions/2b6d9f3a4c1e_align_production_schema_contracts.py6e18b4a7c2d3_normalize_operational_timestamps_to_timestamptz.py7d18e9f1a2b4_convert_business_dates_to_date.py