Query composition
Complex queries stay manageable when each step is small and named.
Base query
Start with the smallest useful shape and add only what you need.
Chaining filters
Keep filters composable so they can be reused across features.
Transactions
Use multi-step transactions when the database work needs to stay consistent.
Safe rollback
If one step fails, the whole operation can roll back cleanly.
Readability
Smaller pieces make the intent obvious to the next person reading the code.