Junior — Middle
Può spiegare il principio di eliminazione morbida dei dati e come si differenzia dalla eliminazione completa?
sobes.tech AI
Risposta dell'AI
L'eliminazione morbida (soft delete) è un approccio in cui i dati non vengono eliminati fisicamente dal database, ma vengono contrassegnati come eliminati, ad esempio, utilizzando un campo speciale (come is_deleted o deleted_at). Questo permette di conservare i dati per eventuali recuperi o audit.
L'eliminazione completa (hard delete) è la rimozione fisica del record dal database, dopo la quale i dati non possono essere recuperati.
Esempio di soft delete in PHP usando il campo is_deleted:
// Contrassegna il record come eliminato
function softDelete($id, $pdo) {
$stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
$stmt->execute(['id' => $id]);
}
// Ottieni solo i record non eliminati
function getActiveUsers($pdo) {
$stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
return $stmt->fetchAll();
}
In questo modo, l'eliminazione morbida evita la perdita di dati e garantisce flessibilità nella gestione degli stessi.