Sobes.tech
Junior — Middle

Můžete vysvětlit princip měkkého mazání dat a jak se liší od úplného mazání?

sobes.tech AI

Odpověď od AI

Měkké smazání (soft delete) je přístup, při kterém data nejsou fyzicky odstraněna z databáze, ale jsou označena jako smazaná, například pomocí speciálního pole (například is_deleted nebo deleted_at). To umožňuje uchovávat data pro případné obnovení nebo audit.

Plné smazání (hard delete) je fyzické odstranění záznamu z databáze, po kterém již data nelze obnovit.

Příklad měkkého smazání v PHP s použitím pole is_deleted:

// Označit záznam jako smazaný
function softDelete($id, $pdo) {
    $stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
    $stmt->execute(['id' => $id]);
}

// Získat pouze nenalezené záznamy
function getActiveUsers($pdo) {
    $stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
    return $stmt->fetchAll();
}

Tímto způsobem měkké smazání zabraňuje ztrátě dat a poskytuje flexibilitu v jejich správě.