Treat names as labels, not primary keys
Names are useful to people and risky as database identifiers. A horse can share a name with another horse in a different context, and supplier spelling can change. Keep the supplier ID, your internal ID and the mapping provenance. A race entry should connect a horse to a specific race rather than overwrite the horse record with race-day attributes.
Three checks worth keeping
- Separate horse identity from runner identity.
- Store external source IDs with a source namespace.
- Keep an audit trail when two records are merged or split.
Put the question to work
Stable identifiers support reliable links and historical corrections. They are a foundation rather than a guarantee of data quality.
Use the runner json validator to organise the next step, then explore the worked example.
The example schema is local teaching material, not a supplier specification.
Continue your racing research
For a related racing resource, explore PTPTips horse racing ratings and form. Check the source for changing race information.
Terms used in this guide
- Schema
- A documented structure and field contract for a data object.
- Stable identifier
- An identity key intended to remain reliable across labels and updates.
- Snapshot
- A representation of the full relevant state at a particular point.
- Partial update
- A change representation whose omitted-field meaning must be defined.
- Freshness
- The age and update context of a particular field, distinct from network speed.
- Provenance
- Information about the origin and transformation history of a data value.
Related reading in the network
- horse racing APIs — Plan the data contract, integration and operational checks behind a horse racing API project.
- horse racing data providers — Prepare a horse racing data requirement that a B2B provider can scope and demonstrate.
- evaluate online horse racing tools — Assess whether a racing website answers a real research need before paying for more features.