Overview
The race-related tables form the core structure of the dataset, defining when and where Formula 1 races occurred. These three tables work together to provide complete context for every Grand Prix event.races.csv
The main table containing individual race events, including session schedules and timing information.Schema
Unique identifier for each race. Primary key.Example:
1061The year of the race. Links to
seasons.year.Example: 2009The round number of the race in the season (1-based).Example:
1 (first race of the season)Foreign key to
circuits.csv. Identifies which circuit hosted the race.Example: 1 (Albert Park)The official name of the Grand Prix.Example:
"Australian Grand Prix"The date of the race in YYYY-MM-DD format.Example:
"2009-03-29"The time of the race start in HH:MM:SS format (UTC). May be
\N for older races.Example: "06:00:00"Wikipedia URL for the race event.Example:
"http://en.wikipedia.org/wiki/2009_Australian_Grand_Prix"Date of Free Practice 1 session. May be
\N for older races.Example: "2024-03-07"Time of Free Practice 1 session (UTC). May be
\N for older races.Example: "11:30:00"Date of Free Practice 2 session. May be
\N for older races.Time of Free Practice 2 session (UTC). May be
\N for older races.Date of Free Practice 3 session. May be
\N for older races or sprint weekends.Time of Free Practice 3 session (UTC). May be
\N for older races or sprint weekends.Date of Qualifying session. May be
\N for older races.Time of Qualifying session (UTC). May be
\N for older races.Date of Sprint Race. Only populated for races with sprint format (2021+).
Time of Sprint Race (UTC). Only populated for races with sprint format (2021+).
Sample Data
| raceId | year | round | circuitId | name | date | time |
|---|---|---|---|---|---|---|
| 1 | 2009 | 1 | 1 | Australian Grand Prix | 2009-03-29 | 06:00:00 |
| 2 | 2009 | 2 | 2 | Malaysian Grand Prix | 2009-04-05 | 09:00:00 |
| 3 | 2009 | 3 | 17 | Chinese Grand Prix | 2009-04-19 | 07:00:00 |
Session Data Availability: Free practice and qualifying session dates/times are more complete for recent seasons (2015+). Older races may have
\N values for these fields.circuits.csv
Information about each circuit where Formula 1 races have been held, including geographic location.Schema
Unique identifier for each circuit. Primary key.Example:
1Short reference name for the circuit (URL-friendly).Example:
"albert_park"Official name of the circuit.Example:
"Albert Park Grand Prix Circuit"City or area where the circuit is located.Example:
"Melbourne"Country where the circuit is located.Example:
"Australia"Latitude coordinate of the circuit.Example:
-37.8497Longitude coordinate of the circuit.Example:
144.968Altitude of the circuit in meters above sea level.Example:
10Wikipedia URL for the circuit.Example:
"http://en.wikipedia.org/wiki/Melbourne_Grand_Prix_Circuit"Sample Data
| circuitId | circuitRef | name | location | country | lat | lng | alt |
|---|---|---|---|---|---|---|---|
| 1 | albert_park | Albert Park Grand Prix Circuit | Melbourne | Australia | -37.8497 | 144.968 | 10 |
| 2 | sepang | Sepang International Circuit | Kuala Lumpur | Malaysia | 2.76083 | 101.738 | 18 |
| 3 | bahrain | Bahrain International Circuit | Sakhir | Bahrain | 26.0325 | 50.5106 | 7 |
Coordinate Precision: Latitude and longitude values are provided with high precision for mapping and visualization purposes.
seasons.csv
Simple metadata table for Formula 1 seasons.Schema
The year of the Formula 1 season. Primary key.Example:
2009Wikipedia URL for the season.Example:
"http://en.wikipedia.org/wiki/2009_Formula_One_season"Sample Data
Relationships Between Tables
Key Relationships
- seasons → races: Each race belongs to a season via the
yearfield - races → circuits: Each race is held at a specific circuit via
circuitId - races → results/qualifying/etc: Each race has multiple performance records
Example Query: Get All Races at a Circuit
Example Query: Get Full Race Weekend Schedule
Data Usage Tips
Sprint Weekend Format: On sprint weekends, FP3 is replaced by the Sprint Race. Check
sprint_date to identify sprint weekends.Historical Changes: Circuit configurations and names have changed over time. The same
circuitId may represent different layouts across different eras.Time Zones: All times are stored in UTC. Convert to local time using the circuit’s
lat/lng coordinates.