The DNA_KitSummary table is a per-kit rollup of how much data has been gathered for each test kit. Each row holds the counts — matches, in-common-with relationships, chromosome segments, surnames, ancestors, and trees — for a single kit, along with when those counts were last refreshed. It lets the app display kit totals without re-counting the underlying detail tables every time.
KitIdentifier is the primary key (a string), so there is exactly one summary row per kit. Refreshing a kit’s summary replaces its existing row.| Column | Type | Description |
|---|---|---|
| KitIdentifier | string (PK) | The kit’s identifier (the kit GUID), uppercased. One summary row per kit. |
| Company | string | The testing company the kit belongs to (for example A*, FTDNA, MyHeritage, 23andMe, Gedmatch). |
| KitName | string | Display name of the kit. |
| MatchCount | int | Number of distinct matches gathered for the kit. |
| ICWCount | int | Number of in-common-with (shared match) relationships gathered for the kit. |
| ChromosomeCount | int | Number of chromosome/segment rows gathered for the kit. |
| SurnameCount | int | Number of distinct surnames found in the kit’s match trees. |
| AncestorCount | int | Number of distinct tree individuals (ancestors) found across the kit’s match trees. |
| TreeCount | int | Number of match trees associated with the kit. |
| LastUpdated | string | Timestamp of when the summary was last recomputed. |
The summary is recomputed by a single routine that runs per kit. It executes company-specific aggregate queries over the underlying match, ICW, chromosome, and tree tables, then writes the result with an insert-or-replace so the kit’s single row is refreshed in place. LastUpdated is set to the current time at each refresh.
Some consumers read only kits that already have meaningful data — for example, lookups that filter to rows where MatchCount and ICWCount are both greater than zero.
KitIdentifier.