How to Design a Database for External Data Imports Without Losing Identity A company imports customer records from three systems. The CRM contains [email protected]. The billing platform contains [email protected]. An older marketplace export contains the same...
Why Historical Records Need Snapshots, Not Live References A customer places an order on Monday. On Friday, they update their delivery address. Nothing unusual has happened. Yet when support opens Monday’s order, the system now shows Friday’s address. The database is...
How to Model Approval Workflows in a Database Without Boolean Chaos A supplier application has been approved. Then its bank details change. Is the supplier still approved? The answer sounds like a business-policy question, but it quickly becomes a database design...
When Reference Data Changes: Designing Database Codes That Preserve History A shipping database contains an order from 2022 with the delivery method EXP. Today, EXP means “Express Delivery — next business day.” But in 2022, the same code meant “Express Delivery —...
External IDs Are Not Your IDs: Modeling Identity Across Systems A backend team adds one column to the customer table: stripe_customer_id Six months later, another integration arrives: hubspot_contact_id Then the company migrates its support platform, imports customers...
Your Schema Is Really a Theory of What Can Change A customer updates their company name. Should every invoice they have ever received change too? A product manager renames a subscription plan. Should last year’s revenue reports display the new name or the name...
Recent Comments