Sobes.tech
Junior — Middle

El tudná magyarázni az adatok lágy törlésének elvét és hogy ez miben különbözik a teljes törléstől?

sobes.tech MI

Válasz az MI-től

Puha törlés (soft delete) olyan megközelítés, amikor az adatok nem kerülnek fizikai törlésre az adatbázisból, hanem megjelölésre kerülnek töröltként, például egy speciális mező (például is_deleted vagy deleted_at) segítségével. Ez lehetővé teszi az adatok megőrzését esetleges helyreállítás vagy audit céljából.

A teljes törlés (hard delete) az adatbázisból való fizikai törlést jelenti, amely után az adatok nem állíthatók vissza.

Példa puha törlésre PHP-ben az is_deleted mező használatával:

// Jelölje meg a rekordot töröltként
function softDelete($id, $pdo) {
    $stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
    $stmt->execute(['id' => $id]);
}

// Csak a nem törölt rekordokat szerezze be
function getActiveUsers($pdo) {
    $stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
    return $stmt->fetchAll();
}

Így a puha törlés elkerüli az adatok elvesztését és rugalmasságot biztosít az adatok kezelésében.