Logical Delete
Logical delete is a database design pattern where records are marked as deleted (e.g., with a 'deleted_at' timestamp or 'is_deleted' flag) instead of being physically removed from the database. This allows for data recovery, audit trails, and maintaining referential integrity while hiding the records from normal application queries. It is commonly implemented in applications requiring data retention, compliance, or soft deletion features.
Developers should use logical delete when building applications that need to preserve data for legal compliance, audit purposes, or user recovery features, such as in e-commerce platforms, financial systems, or content management systems. It prevents accidental data loss and supports features like 'undo delete' or data analytics on historical records, though it requires careful query design to exclude deleted records.