SQL에서의 데이터 복제 및 복구 연습문제

SQL 데이터베이스에서 데이터 복제 및 복구는 중요한 작업입니다. 데이터 손실이나 장애가 발생했을 때 데이터를 복구할 수 있어야 합니다. 이번 연습문제에서는 SQL에서 데이터 복제 및 복구를 실습해보겠습니다.

복제 연습문제

문제 1: 테이블 복제

다음과 같은 Employees 테이블이 있다고 가정해봅시다.

CREATE TABLE Employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    salary DECIMAL(10,2)
);

이 테이블을 복제하여 Employees_Copy라는 새로운 테이블을 만들어보세요.

CREATE TABLE Employees_Copy AS
SELECT *
FROM Employees;

문제 2: 데이터 복제

Employees 테이블에 다음과 같은 데이터가 있다고 가정해봅시다.

id name age salary
1 John 25 5000
2 Emily 30 6000
3 David 35 7000

이 데이터를 Employees_Copy 테이블로 복제해보세요.

INSERT INTO Employees_Copy
SELECT *
FROM Employees;

문제 3: 데이터 동기화

Employees 테이블에 새로운 데이터를 추가해보세요.

INSERT INTO Employees
VALUES (4, 'Sarah', 28, 5500);

이때, Employees_Copy 테이블도 동일한 내용으로 데이터를 동기화해야 합니다.

INSERT INTO Employees_Copy
SELECT *
FROM Employees;

복구 연습문제

문제 1: 데이터 삭제

Employees 테이블에서 id가 1인 데이터를 삭제해보세요.

DELETE FROM Employees
WHERE id = 1;

문제 2: 데이터 복구

위에서 삭제한 데이터를 복구해야 합니다. 복구하기 전에 Employees_Copy 테이블을 확인해보세요.

SELECT *
FROM Employees_Copy;

이제 삭제한 데이터를 Employees 테이블로 다시 복구해보세요.

INSERT INTO Employees
SELECT *
FROM Employees_Copy
WHERE id = 1;

문제 3: 롤백

위에서 삭제한 데이터를 복구하기 위해 임시 테이블을 사용했습니다. 이제 임시 테이블인 Employees_Copy을 롤백하여 삭제된 데이터를 원래대로 복구해야 합니다.

ROLLBACK; -- 임시 테이블 복구

마무리

이번 연습문제에서는 SQL에서 데이터 복제 및 복구를 실습해봤습니다. 데이터가 중요한 시스템에서는 복제와 복구 기능을 통해 데이터의 안정성과 가용성을 확보할 수 있습니다.

#database #sql