A team deletes a project called launch-plan, creates another project with the same name, and later restores the original. Which project gets the URL? Adding deleted_at to a table does not answer that question. Soft delete database design must define identity,...
A customer updates an order. Your application sends a webhook to three partner systems. Two respond successfully; the third times out. Five minutes later, support asks whether that partner received the update, what was sent, and whether retrying will create a...
How to Design a Database for Recurring Appointments and Schedule Exceptions A customer books a workshop every Wednesday at 9:00 AM. Three weeks later, the instructor moves one session to Thursday. The following week is canceled because the building is closed....
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...
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 Your Data Sources Disagree: Designing a Database That Preserves the Truth A company is preparing to replace three old systems with one new database. The CRM says customer 1842 is called Northstar Labs. The billing system says Northstar Laboratories Ltd. A...
Recent Comments