DAO / kdd-benchmark /input /task_75 /context /knowledge.md
sipe5001's picture
Add Hugging Face Docker Space configuration
d3d0e0e
|
Raw History Blame Contribute Delete
6.07 kB

Enterprise Data Governance Knowledge Guide for Database: Formula_1

1. Introduction

This guide serves as a comprehensive semantic layer for the Formula_1 database, providing authoritative definitions, metric formulations, and governance standards. It is designed to ensure consistent data interpretation and usage across the enterprise, supporting strategic decision-making and operational efficiency.

2. Core Entities & Fields

Business Entities

  • Drivers: Individuals participating in races, identified by driverId. Key attributes include forename, surname, date of birth, and nationality.
  • Races: Competitive events, identified by raceId. Attributes include year, round, name, and date.
  • Circuits: Locations where races are held, identified by circuitId. Attributes include name, location, country, and geographical coordinates (latitude, longitude).
  • Constructors: Teams responsible for car design and manufacturing, identified by constructorId. Attributes include name, nationality, and url.

Key Attributes

  • driverRef: A unique reference name for drivers, used for identification in various contexts.
  • raceId: A unique identifier for races, crucial for linking race-related data across tables.
  • q1, q2, q3: Qualifying period results, representing lap times in different qualifying sessions.
  • fastestLapTime: The quickest lap time recorded during a race, used to assess driver performance.
  • points: Scoring metric for drivers and constructors, reflecting performance in races.
  • rank: The driver's ranking within a race based on fastestLapTime; rank 1 indicates the driver who recorded the quickest lap time.

3. Metric Definitions

Key Performance Indicators (KPIs)

  • Driver Performance Index: Calculated as the average of points scored by a driver across all races. Formula: AVG(points).
  • Constructor Success Rate: Percentage of races where a constructor finishes in the top 3 positions. Formula: DIVIDE(COUNT(raceId WHERE position <= 3), COUNT(raceId)) * 100.
  • Fastest Lap Efficiency: Ratio of fastest lap times to total laps completed. Formula: DIVIDE(SUM(fastestLapTime), SUM(laps)).
  • Race Completion Rate: Percentage of races completed by drivers without disqualification. Formula: DIVIDE(COUNT(raceId WHERE statusId != 2), COUNT(raceId)) * 100.
  • Qualifying Improvement Rate: Change in qualifying times across sessions. Formula: SUBTRACT(q3, q1).

4. Constraints & Conventions

Filtering Criteria

  • Temporal Boundaries: Data is typically analyzed within calendar years, with fiscal year adjustments as needed.
  • Currency Formatting: Points and other numerical metrics are presented in integer or real formats, with no currency conversion required.
  • Unit Conversion: Time metrics are standardized to 'MM:SS.mmm' format for consistency.

Common Conventions

  • Driver Identification: Use driverId for unique identification; driverRef for reference in reports.
  • Race Identification: Use raceId for linking race data; name for descriptive purposes.

5. Exemplar Use Cases

Example 1: Driver Elimination in Qualifying

  • Metric: Identify drivers eliminated in the first qualifying period for a specific race.
  • Explanation: For race number 20, list the reference names of drivers with the highest q1 times, indicating elimination.
  • SQL: SELECT T2.driverRef FROM qualifying AS T1 INNER JOIN drivers AS T2 ON T2.driverId = T1.driverId WHERE T1.raceId = 20 ORDER BY T1.q1 DESC LIMIT 5

Example 2: Best Lap Time Analysis

  • Metric: Determine the driver with the best lap time in the second qualifying period.
  • Explanation: For race number 19, identify the driver with the minimum q2 time.
  • SQL: SELECT T2.surname FROM qualifying AS T1 INNER JOIN drivers AS T2 ON T2.driverId = T1.driverId WHERE T1.raceId = 19 ORDER BY T1.q2 ASC LIMIT 1

Example 3: Circuit Location Identification

  • Metric: Retrieve geographical coordinates for specific Grand Prix events.
  • Explanation: For the Australian Grand Prix, extract latitude and longitude of the circuit.
  • SQL: SELECT DISTINCT T1.lat, T1.lng FROM circuits AS T1 INNER JOIN races AS T2 ON T2.circuitID = T1.circuitId WHERE T2.name = 'Australian Grand Prix'

Example 4: Driver Age Analysis

  • Metric: Identify the oldest driver who completed a specific race.
  • Explanation: For race number 592, find the driver with the earliest dob among those who finished the race.
  • SQL: SELECT T1.forename, T1.surname FROM drivers AS T1 INNER JOIN results AS T2 ON T2.driverId = T1.driverId WHERE T2.raceId = 592 AND T2.time IS NOT NULL AND T1.dob IS NOT NULL ORDER BY T1.dob ASC LIMIT 1

Example 5: Constructor Points Calculation

  • Metric: Calculate the maximum points scored by a constructor in a race.
  • Explanation: Determine the highest points value from constructorResults for a given race.
  • SQL: SELECT MAX(points) FROM constructorResults WHERE raceId = [specific_raceId]

6. Ambiguity Resolution

Potentially Ambiguous Fields

Potentially Ambiguous Fields

  • position vs. positionOrder: Use positionOrder for final race rankings; position for grid or qualifying positions.
  • time vs. milliseconds: Use milliseconds for precise calculations; time for formatted display.
  • driverRef vs. driverId: Use driverId for unique identification; driverRef for reference in reports.
  • rank vs. positionOrder: Use positionOrder for final race finishing order; rank represents the driver's ranking based on fastestLapTime within a race, not the overall finishing position.

Recommended Usage

  • Prioritize driverId and raceId for linking data across tables.
  • Use fastestLapTime for performance metrics; fastestLapSpeed for speed analysis.

This guide ensures consistent and accurate data usage across the Formula_1 database, supporting enterprise-wide data governance and strategic insights.