Junior — Middle
Können Sie das Prinzip der weichen Datenlöschung erklären und wie es sich von der vollständigen Löschung unterscheidet?
sobes.tech KI
Antwort von AI
Soft Delete (sanftes Löschen) ist ein Ansatz, bei dem Daten nicht physisch aus der Datenbank gelöscht werden, sondern als gelöscht markiert werden, zum Beispiel mit einem speziellen Feld (wie is_deleted oder deleted_at). Dies ermöglicht die Speicherung der Daten für mögliche Wiederherstellungen oder Audits.
Hard Delete (endgültiges Löschen) ist die physische Entfernung des Datensatzes aus der Datenbank, nach der die Daten nicht wiederhergestellt werden können.
Beispiel für Soft Delete in PHP unter Verwendung des Feldes is_deleted:
// Markiere den Datensatz als gelöscht
function softDelete($id, $pdo) {
$stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
$stmt->execute(['id' => $id]);
}
// Nur nicht gelöschte Datensätze abrufen
function getActiveUsers($pdo) {
$stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
return $stmt->fetchAll();
}
Auf diese Weise vermeidet Soft Delete den Datenverlust und bietet Flexibilität in der Datenverwaltung.