Sobes.tech
Junior — Middle

¿Puede explicar el principio de eliminación suave de datos y en qué se diferencia de la eliminación completa?

sobes.tech AI

Respuesta de la IA

El borrado suave (soft delete) es un enfoque en el que los datos no se eliminan físicamente de la base de datos, sino que se marcan como eliminados, por ejemplo, mediante un campo especial (como is_deleted o deleted_at). Esto permite conservar los datos para posibles recuperaciones o auditorías.

El borrado completo (hard delete) es la eliminación física del registro de la base de datos, tras la cual los datos no se pueden recuperar.

Ejemplo de borrado suave en PHP usando el campo is_deleted:

// Marcar el registro como eliminado
function softDelete($id, $pdo) {
    $stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
    $stmt->execute(['id' => $id]);
}

// Obtener solo registros no eliminados
function getActiveUsers($pdo) {
    $stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
    return $stmt->fetchAll();
}

De esta manera, el borrado suave evita la pérdida de datos y proporciona flexibilidad en su gestión.