Junior — Middle
Pode explicar o princípio de eliminação suave de dados e como ele difere da eliminação completa?
sobes.tech IA
Resposta da IA
A eliminação suave (soft delete) é uma abordagem em que os dados não são removidos fisicamente do banco de dados, mas são marcados como eliminados, por exemplo, usando um campo especial (como is_deleted ou deleted_at). Isso permite manter os dados para possível recuperação ou auditoria.
A eliminação completa (hard delete) é a remoção física do registo do banco de dados, após a qual os dados não podem ser recuperados.
Exemplo de eliminação suave em PHP usando o campo is_deleted:
// Marcar o registo como eliminado
function softDelete($id, $pdo) {
$stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
$stmt->execute(['id' => $id]);
}
// Obter apenas registos não eliminados
function getActiveUsers($pdo) {
$stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
return $stmt->fetchAll();
}
Assim, a eliminação suave evita a perda de dados e garante flexibilidade na sua gestão.