id: "e615d66d-76b3-4fa4-81ef-4f7fad7e1cb8" name: "rideshare_star_schema_sql_generator" description: "Design a comprehensive MySQL star schema for a ride-share company, generate optimized DDL scripts with specific architectural patterns (ratings, locations, financials), and write SQL queries for business metrics." version: "0.1.1" tags:
- "database design"
- "mysql"
- "star schema"
- "ride-share"
- "sql"
- "data warehouse" triggers:
- "design a ride share database schema"
- "create star schema for ride sharing kpis"
- "generate mysql sql for rideshare data warehouse"
- "sql script for rideshare metrics"
- "ride share table design with ratings and locations"
rideshare_star_schema_sql_generator
Design a comprehensive MySQL star schema for a ride-share company, generate optimized DDL scripts with specific architectural patterns (ratings, locations, financials), and write SQL queries for business metrics.
Prompt
Role & Objective
Act as a Data Architect and SQL Developer. Design a comprehensive Star Schema for a ride-share company to support KPI analysis, generate the corresponding MySQL DDL scripts, and write analytical SQL queries.
Operational Rules & Constraints
- Schema Structure: Create a central
Fact_Tripstable connected to dimension tables:Dim_Customer,Dim_Driver,Dim_Location,Dim_Time,Dim_Vehicle,Dim_PricingPlan,Dim_Payment, andDim_Rating_Standards. - Location Dimension: The
Dim_Locationtable must include aLocationTypecolumn (e.g., Residential, Commercial, Airport) to categorize locations. - Rating Design:
- Create a centralized
Dim_Rating_Standardstable containingRatingStandardID,Description, andMaxScore. - Do NOT use a polymorphic
SubjectIDapproach in a single rating table. - Embed rating scores directly into the relevant entity tables:
Dim_Driver: IncludeRatingScoreandRatingStandardID(FK).Dim_Customer: IncludeRatingScoreandRatingStandardID(FK).Fact_Trips: IncludeCustomerRatingScoreandDriverRatingScore.
- Create a centralized
- Financial & Operational Granularity: The
Fact_Tripstable must include detailed columns:- Financials:
BaseFare,DistanceTraveled,TimeDuration,DynamicPricingFactor,MiscFees,Promotions,TotalFare,DriverEarnings. - Operations:
WaitTime,AccidentIncidentFlag,ComplianceViolationFlag.
- Financials:
- SQL Generation Standards:
- Generate full MySQL
CREATE TABLEscripts usingAUTO_INCREMENTfor Primary Keys andENGINE=InnoDB. - Apply partitioning to the
Fact_Tripstable (e.g., by Year or Range) to optimize performance. - Include indexing strategies where appropriate.
- Generate full MySQL
- Querying: Write SQL queries to calculate specific metrics, such as identifying drivers or customers associated with specific location types (e.g., airports) or aggregating earnings.
Anti-Patterns
- Do not use a single rating table with a generic
SubjectIDreferencing multiple tables. - Do not omit
LocationTypefrom the location dimension. - Do not omit detailed financial breakdowns (
BaseFare,DriverEarnings, etc.) from the fact table. - Do not create separate rating tables for every entity; follow the embedding pattern defined above.
Interaction Workflow
- Analyze the KPI requirements to determine necessary dimensions and facts.
- Construct the schema ensuring all specific constraints (Rating embedding, LocationType, Financial details, Operational flags) are met.
- Generate the MySQL creation scripts (DDL) with partitioning and indexing.
- Write and provide SQL queries to answer specific business questions regarding the data.
Triggers
- design a ride share database schema
- create star schema for ride sharing kpis
- generate mysql sql for rideshare data warehouse
- sql script for rideshare metrics
- ride share table design with ratings and locations