목차/차례
1. 데이터베이스의 정규화와 비정규화의 차이점에 대해 설명하시오.
2. 트랜잭션의 원자성, 일관성, 격리성, 지속성(ACID 원칙)에 대해 설명하시오.
3. 인덱스의 종류와 각각의 장단점에 대해 설명하시오.
4. 데이터베이스 백업 및 복구 전략에 대해 어떻게 계획하고 수행하는지 설명하시오.
5. 데이터베이스 성능 튜닝을 위해 주로 사용하는 방법과 도구는 무엇인가
6. 데이터베이스의 잠금(lock) 메커니즘과 그로 인한 데드락(deadlock) 방지 방법에 대해 설명하시오.
7. 한샘의 데이터베이스 환경에서 발생할 수 있는 장애 시 대응 절차는 무엇인가
8. 최근 데이터베이스 관련 트렌드 또는 신기술에 대해 알고 있는 것이 있다면 소개하시오.
본문/내용
1. 데이터베이스의 정규화와 비정규화의 차이점에 대해 설명하시오.
데이터베이스의 정규화와 비정규화는 데이터 구조를 설계하는 방법으로 각각의 목적과 특징이 다릅니다. 정규화는 데이터 중복을 최소화하고 데이터 무결성을 높이기 위해 여러 테이블로 나누어 설계하는 과정입니다. 예를 들어, 고객 정보와 주문 정보를 별도 테이블로 분리하면 고객이 여러 번 주문하더라도 고객 정보가 중복 저장되지 않아 데이터 일관성을 유지할 수 있으며, 수시로 고객 정보 업데이트 시 데이터 정합성 확보가 용이합니다. 한편, 정규화가 심화될수록 JOIN 연산이 잦아지고 읽기 성능이 저하될 수 있으며, 데이터 조회 속도가 느려질 수 있습니다. 이에 비해 비정규화는 성능 향상을 위해 일부 데이터를 중복 저장하거나 테이블을 통합하는 방식입니다. 예를 들어, 주문당 고객 정보를 주문 테이블에 함께 저장하면 JOIN 연산이 줄어들어 조회 성능이 평균 30% 향상된 사례가 있습니다. 하지만, 이는 데이터 중복과 유지보수의 복잡성을 증가시키며, 한 고객의 주소 변경시 여러 곳을 일일이 수정해야 하는 문제점이 있습니다. 따라서, 대규모 조회가 잦거나 성능이 중요시 될 경…