Sobes.tech
Junior — Middle

Kas saaksite selgitada pehme andmete kustutamise põhimõtet ja kuidas see erineb täielikust kustutamisest?

sobes.tech AI

Vastus AI-lt

Mõõduka kustutamise (soft delete) lähenemine tähendab, et andmeid ei kustutata füüsiliselt andmebaasist, vaid märgitakse need kustutatuks, näiteks spetsiaalse välja (näiteks is_deleted või deleted_at) abil. See võimaldab säilitada andmeid võimaliku taastamise või auditi jaoks.

Täielik kustutamine (hard delete) tähendab kirje füüsilist eemaldamist andmebaasist, mille tulemusena andmeid ei saa taastada.

Näide PHP-s is_deleted välja kasutamisest pehme kustutamise jaoks:

// Märgista kirje kustutatuks
function softDelete($id, $pdo) {
    $stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
    $stmt->execute(['id' => $id]);
}

// Hangi ainult mitte-kustutatud kirjed
function getActiveUsers($pdo) {
    $stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
    return $stmt->fetchAll();
}

Selline lähenemine aitab vältida andmete kaotsiminekut ning pakub paindlikkust nende haldamisel.