[CS/데이터베이스] Soft Delete와 Hard Delete - 1부

황제연·2025년 4월 20일
0

CS학습

목록 보기
50/193
post-thumbnail

💾 데이터베이스 삭제 방식

웹서비스에서 특정 게시글이나 데이터를 삭제하는 상황이 발생합니다
삭제할 때 일반적으로 DELETE문으로 DB에서 삭제하면 되는 것이 아닌가? 라고 단순히 생각할 때가 있습니다

하지만 실제로는 DELETE로 삭제하지 않고, UPDATE로 삭제한 것처럼 보이게 하는 경우도 있습니다
각각을 Hard Delete와 Soft Delete라고 부릅니다

📌 Soft Delete란?

Soft Delete는 데이터를 물리적으로 삭제하지 않고, 삭제되었다는 상태만 기록하는 방식입니다

UPDATE BOARDS SET DEL_YN = 1 WHERE ID = 1;

이렇게 한다면 1번글은 삭제가 된 것처럼 보입니다
그리고 사용자들이 데이터를 조회할 떄는 다음과 같은 조건문을 추가합니다

SELECT * FROM BOARDS WHERE DEL_YN = 0

이렇게 하면 사용자는 Soft Delete하지 않은 글들만 조회하고, 마치 삭제된 것처럼 보입니다

📌 Hard Delete란?

Hard Delete는 정말 데이터베이스에서 데이터를 물리적으로 삭제하는 방식입니다

DELETE FROM BOARDS WHERE ID = 1;

이렇게 하면 DB에서 완전히 제거됩니다

✍️ 결론

웹서비스에서 데이터를 삭제하는 방식은 Soft Delete와 Hard Delete로 구분됩니다

Soft Delete는 데이터베이스에서 실제 삭제하지 않고 삭제된 것처럼 보여주는 방식을 말합니다
Hard Delete는 데이터베이스에서 실제로 제거하는 방식입니다

profile
Software Developer

0개의 댓글