Sobes.tech
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.