Concept Flow - Soft delete pattern concept
Start: User wants to delete a record
Update record's 'deleted' flag to TRUE
Record remains in table but marked deleted
Queries filter out records where 'deleted' is TRUE
Deleted records hidden from normal views
Optionally, restore by setting 'deleted' to FALSE
Soft delete means marking a record as deleted instead of removing it, so it stays in the table but is hidden from normal queries.