Sobes.tech
Junior — Middle

Կարող եք բացատրել նուրբ տվյալների ջնջման սկզբունքը և ինչպես այն տարբերվում է լրիվ ջնջումից:

sobes.tech AI

Պատասխան AI-ից

Մեղմ ջնջում (soft delete) նշանակում է մոտեցում, երբ տվյալները ֆիզիկապես չեն ջնջվում տվյալների բազայից, այլ նշվում են որպես ջնջված, օրինակ՝ հատուկ դաշտի (օրինակ՝ is_deleted կամ deleted_at) միջոցով։ Սա թույլ է տալիս պահել տվյալները հնարավոր վերականգնման կամ աուդիտի համար։

Ամբողջական ջնջում (hard delete) նշանակում է ռեկորդի ֆիզիկական ջանումը տվյալների բազայից, որի արդյունքում տվյալները վերականգնել հնարավոր չէ։

PHP-ում is_deleted դաշտը օգտագործելով soft delete-ի օրինակ՝

// Նշել ռեկորդը որպես ջնջված
function softDelete($id, $pdo) {
    $stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
    $stmt->execute(['id' => $id]);
}

// Ստանալ միայն ոչ ջնջված ռեկորդները
function getActiveUsers($pdo) {
    $stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
    return $stmt->fetchAll();
}

Այսպիսով, soft delete-ը խուսափում է տվյալների կորուստից և ապահովում է դրանց կառավարում։