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