Sobes.tech
Junior — Middle

Veri yumuşak silme ilkesini açıklayabilir misiniz ve bunun tam silmeden farkı nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yumuşak silme (soft delete), verilerin fiziksel olarak veritabanından silinmediği, bunun yerine silinmiş olarak işaretlendiği bir yaklaşımdır; örneğin, özel bir alan (örneğin is_deleted veya deleted_at) kullanılarak yapılır. Bu, verilerin olası geri yükleme veya denetim için saklanmasını sağlar.

Tam silme (hard delete), kaydın veritabanından fiziksel olarak silinmesidir ve bu işlemden sonra veriler geri getirilemez.

PHP'de is_deleted alanını kullanarak soft delete örneği:

// Kaydı silinmiş olarak işaretle
function softDelete($id, $pdo) {
    $stmt = $pdo->prepare("UPDATE users SET is_deleted = 1 WHERE id = :id");
    $stmt->execute(['id' => $id]);
}

// Sadece silinmemiş kayıtları getir
function getActiveUsers($pdo) {
    $stmt = $pdo->query("SELECT * FROM users WHERE is_deleted = 0");
    return $stmt->fetchAll();
}

Bu şekilde, soft delete veri kaybını önler ve veri yönetiminde esneklik sağlar.