Relational Map
Relational Map
See the workbook as lineage, not a flat file.
Click any branch to move from sheet class to system, then down into the actual worksheet, owner signals, join spine, status field, and time field. This is the fast read for figuring out who owns what and where the workbook breaks.
Source workbook: apex_therapeutics_demo_tracker.xlsx
// WORKBOOK STRUCTURE
6 sheets
5 entities
11 FK edges
0 shard group(s)
2 high-readiness
2 medium-readiness
2 low-readiness
! multiple masters claim PK for: batch_id, deviation_id, operator_id — pick one source of truth.
! intake review required for: Template_Readme, Open_Actions
Relational lineage map
Click any class, system, worksheet, owner lane, or truth lane to pivot the path. The tree stays in VIXAR dark mode and keeps the active workbook spine visible.
This view is interactive. It is meant to behave like a decomposition tree, not a static screenshot.
Sheet classification
low readiness
Template_Readme
EM
79% confidence
mapped: no mapped fields
evidence: sheet:em
owner lane: missing
id spine: pending
weak spots: no obvious room / area field detected; no canonical columns mapped
medium readiness
Batch_Release_Queue
MES
80% confidence
mapped: batch_id <- batch id, batch_id <- lot id, system_id <- system, deviation_id <- deviation id and 1 more
evidence: sheet:batch, header:batch
owner lane: missing
id spine: asset_id, batch_id, deviation_id, system_id
weak spots: no immediate intake gaps
high readiness
Deviation_CAPA
QMS
97% confidence
mapped: deviation_id <- deviation id, batch_id <- batch id, batch_id <- lot id, asset_id <- asset id and 1 more
evidence: sheet:deviation, sheet:capa, header:capa, header:quality, header:deviation, header:impact
owner lane: missing
id spine: asset_id, batch_id, deviation_id
weak spots: no immediate intake gaps
high readiness
Calibration_Master
CAL
97% confidence
mapped: asset_id <- asset id, instrument_id <- instrument, room_area <- area, batch_id <- linked batch id and 1 more
evidence: sheet:calibration, sheet:cal, header:calibration
owner lane: missing
id spine: asset_id, batch_id, instrument_id, room_area, system_id
weak spots: no immediate intake gaps
medium readiness
Training_Matrix_Draft
MES
78% confidence
mapped: operator_id <- operator id, operator_id <- operator, batch_id <- batch id
evidence: header:operator, header:batch
owner lane: missing
id spine: batch_id, operator_id
weak spots: no immediate intake gaps
low readiness
Open_Actions
MES
65% confidence
mapped: batch_id <- batch id, batch_id <- lot id, asset_id <- asset id
evidence: header:batch
owner lane: missing
id spine: asset_id, batch_id
weak spots: no immediate intake gaps
Sheets
registry
Template_Readme
4 rows
2 cols
tracker
Batch_Release_Queue
5 rows
11 cols
PK: batch id, lot id, deviation id
keys: asset_id, batch_id, deviation_id, system_id
tracker
Deviation_CAPA
5 rows
10 cols
PK: deviation id, batch id, lot id, capa action
keys: asset_id, batch_id, deviation_id
registry
Calibration_Master
5 rows
8 cols
PK: asset id, instrument, linked batch id
keys: asset_id, batch_id, instrument_id, room_area, system_id
tracker
Training_Matrix_Draft
5 rows
8 cols
PK: operator id, operator, batch id
keys: batch_id, operator_id
tracker
Open_Actions
5 rows
8 cols
PK: action id, batch id, lot id
keys: asset_id, batch_id
Shared IDs
batch_id
master
Batch_Release_Queue.batch id
0 ref(s)
(orphaned - no external references)
deviation_id
master
Batch_Release_Queue.deviation id
0 ref(s)
(orphaned - no external references)
asset_id
master
Calibration_Master.asset id
3 ref(s)
Batch_Release_Queue.asset id, Deviation_CAPA.asset id, Open_Actions.asset id
instrument_id
master
Calibration_Master.instrument
0 ref(s)
(orphaned - no external references)
operator_id
master
Training_Matrix_Draft.operator id
0 ref(s)
(orphaned - no external references)
Cross-sheet links
Deviation_CAPA.batch id
to
Batch_Release_Queue.batch id
batch_id
duplicate master — drift risk
Deviation_CAPA.lot id
to
Batch_Release_Queue.batch id
batch_id
duplicate master — drift risk
Calibration_Master.linked batch id
to
Batch_Release_Queue.batch id
batch_id
duplicate master — drift risk
Training_Matrix_Draft.batch id
to
Batch_Release_Queue.batch id
batch_id
duplicate master — drift risk
Open_Actions.batch id
to
Batch_Release_Queue.batch id
batch_id
duplicate master — drift risk
Open_Actions.lot id
to
Batch_Release_Queue.batch id
batch_id
duplicate master — drift risk
Deviation_CAPA.deviation id
to
Batch_Release_Queue.deviation id
deviation_id
duplicate master — drift risk
Deviation_CAPA.capa action
to
Batch_Release_Queue.deviation id
deviation_id
duplicate master — drift risk
Batch_Release_Queue.asset id
to
Calibration_Master.asset id
asset_id
Deviation_CAPA.asset id
to
Calibration_Master.asset id
asset_id
Open_Actions.asset id
to
Calibration_Master.asset id
asset_id
Join keys are detected from repeated headers and repeated identifiers.
Cross-sheet links are candidate matches, so confirm them against the real workbook before acting on them.
Use this map to see how one mismatch can affect more than one tab.