Sobes.tech
Junior — Middle

Puteți explica principiul ștergerii moi a datelor și în ce se deosebește de ștergerea completă?

sobes.tech AI

Răspuns de la AI

Ștergerea moale (soft delete) este o abordare în care datele nu sunt șterse fizic din baza de date, ci sunt marcate ca șterse, de exemplu, folosind un câmp special (cum ar fi is_deleted sau deleted_at). Acest lucru permite păstrarea datelor pentru eventuale restaurări sau audituri.

Ștergerea completă (hard delete) este eliminarea fizică a înregistrării din baza de date, după care datele nu mai pot fi recuperate.

Exemplu de ștergere moale în PHP folosind câmpul is_deleted:

// Marcare înregistrare ca ștersă
function softDelete($id, $pdo) {
    $stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
    $stmt->execute(['id' => $id]);
}

// Obținerea doar a înregistrărilor neșterse
function getActiveUsers($pdo) {
    $stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
    return $stmt->fetchAll();
}

Astfel, ștergerea moale evită pierderea datelor și oferă flexibilitate în gestionarea acestora.