Junior — Middle
Ar galite paaiškinti švelnaus duomenų ištrynimo principą ir kaip jis skiriasi nuo visiško ištrynimo?
sobes.tech AI
Atsakymas iš AI
Minkštas ištrynimas (soft delete) yra požiūris, kai duomenys nėra fiziškai ištrinami iš duomenų bazės, o pažymimi kaip ištrinti, pavyzdžiui, naudojant specialų lauką (pvz., is_deleted arba deleted_at). Tai leidžia išsaugoti duomenis galimam atstatymui ar auditui.
Visiškas ištrynimas (hard delete) yra fizinis įrašo ištrynimas iš duomenų bazės, po kurio duomenys nebegali būti atkurti.
Pavyzdys, kaip naudoti is_deleted lauką PHP kalboje soft delete:
// Pažymėti įrašą kaip ištrintą
function softDelete($id, $pdo) {
$stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
$stmt->execute(['id' => $id]);
}
// Gauti tik nepašalintus įrašus
function getActiveUsers($pdo) {
$stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
return $stmt->fetchAll();
}
Šiuo būdu, minkštas ištrynimas išvengia duomenų praradimo ir suteikia lankstumo jų valdyme.