# Discussing different ways to model data Page: https://stenobird.com/podcast/no-compromises-1309932/discussing-different-ways-to-model-data Text version: https://stenobird.com/podcast/no-compromises-1309932/discussing-different-ways-to-model-data.md Podcast: [No Compromises](https://stenobird.com/podcast/no-compromises-1309932) Published: 2025-11-22T06:00:00+00:00 Episode link: https://share.transistor.fm/s/b5e7da9b Audio file: https://media.transistor.fm/b5e7da9b/5e305b68.mp3 Processing state: not_requested JSON: https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/discussing-different-ways-to-model-data Duration seconds: 710 ## Resource It's easy to overcomplicate data modeling, especially when enums, relationships, and future requirements are in play. In the latest episode of the No Compromises podcast, Joel brings Aaron a real-world technical dilemma: how to model a relationship between two models when types are stored as enums, not models. We discuss the pros and cons of pivot tables versus JSON columns, the importance of context before jumping to solutions, and how developer instincts can sometimes get in the way of clarity. (00:00) - Setting up the technical problem (02:00) - Pivot tables vs JSON columns (05:15) - Filtering and validation considerations (07:15) - Deciding on the best approach (09:50) - Silly bit Would you like us to review your code or application architecture ? ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/no-compromises-1309932/episodes/discussing-different-ways-to-model-data/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/no-compromises-1309932/discussing-different-ways-to-model-data.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.