Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ რბილი მონაცემების წაშლის პრინციპი და როგორ განსხვავდება იგი სრული წაშლისგან?

sobes.tech AI

პასუხი AI-სგან

მოძრავი წაშლა (soft delete) არის მიდგომა, სადაც მონაცემები არ იშლება ფიზიკურად მონაცემთა ბაზიდან, არამედ მათ მიენიჭებათ წაშლილი სტატუსი, მაგალითად, სპეციალური ველის (მაგალითად, is_deleted ან deleted_at) გამოყენებით. ეს საშუალებას აძლევს მონაცემების შენახვას შესაძლო აღდგენის ან აუდიტის მიზნით.

სრული წაშლა (hard delete) არის ჩანაწერის ფიზიკური წაშლა მონაცემთა ბაზიდან, რის შემდეგაც მონაცემები აღდგენა შეუძლებელია.

PHP-ში is_deleted ველის გამოყენებით მორიგი წაშლის მაგალითი:

// ჩანაწერის როგორც წაშლილი მონიშნვა
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();
}

ამ გზით, მორიგი წაშლა თავიდან აცილებს მონაცემების დაკარგვას და უზრუნველყოფს მათ მართვაში მოქნილობას.