데이터베이스에서의 소프트 삭제와 복구 연습문제

소프트 삭제란?

데이터베이스에서의 소프트 삭제는 실제 데이터를 완전히 삭제하지 않고, 삭제 여부를 표시하는 플래그를 설정하는 것을 말합니다. 이렇게 함으로써 데이터의 복구가 가능하게 됩니다.

소프트 삭제와 복구 연습문제

이번 연습문제에서는 특정 데이터베이스 테이블에서 소프트 삭제와 복구를 테스트해 보겠습니다.

테이블 생성

먼저, 다음과 같은 테이블을 생성합니다.

CREATE TABLE products (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  deleted BOOLEAN DEFAULT FALSE
);

데이터 삽입

이 테이블에 몇 개의 데이터를 삽입합니다. 예를 들어,

INSERT INTO products (id, name) VALUES (1, 'Product A');
INSERT INTO products (id, name) VALUES (2, 'Product B');
INSERT INTO products (id, name) VALUES (3, 'Product C');

소프트 삭제

이제, Product B를 소프트 삭제해보겠습니다. 다음 쿼리를 실행합니다.

UPDATE products SET deleted = TRUE WHERE id = 2;

복구

Product B를 복구하기 위해서는 다음 쿼리를 실행합니다.

UPDATE products SET deleted = FALSE WHERE id = 2;

삭제된 데이터 조회

삭제된 데이터만 조회하고 싶다면, 다음 쿼리를 실행합니다.

SELECT * FROM products WHERE deleted = TRUE;

모든 데이터 조회

모든 데이터를 조회하고 싶다면, 다음 쿼리를 실행합니다.

SELECT * FROM products;

위와 같은 연습문제를 통해 데이터베이스에서의 소프트 삭제와 복구를 실제로 경험해 볼 수 있습니다.

#데이터베이스 #소프트삭제