목차/차례
1. 데이터베이스의 정규화와 비정규화의 차이점에 대해 설명하시오.
2. 인덱스의 종류와 각각의 장단점에 대해 설명하시오.
3. 데이터베이스 백업과 복구 전략에 대해 어떻게 계획하고 실행하는지 설명하시오.
4. 트랜잭션의 ACID 특성에 대해 설명하시오.
5. 데이터베이스 성능 최적화를 위해 어떤 방법들을 사용하는지 예를 들어 설명하시오.
6. 장애 발생 시 데이터베이스 복구 절차는 어떻게 되는지 구체적으로 설명하시오.
7. SQL 인젝션 공격을 방지하기 위한 방어 방법은 무엇이 있는지 설명하시오.
8. 최근 경험했던 데이터베이스 관련 문제와 그 해결 방안에 대해 설명하시오.
본문/내용
1. 데이터베이스의 정규화와 비정규화의 차이점에 대해 설명하시오.
데이터베이스의 정규화와 비정규화는 데이터 저장 구조의 최적화와 관련된 핵심 개념입니다. 정규화는 데이터의 중복을 최소화하고 데이터 무결성을 높이기 위해 데이터를 여러 개의 테이블로 분할하는 과정입니다. 예를 들어, 고객 정보와 주문 정보를 하테이블에 저장하면 데이터 중복이 발생할 수 있는데, 정규화를 통해 고객과 주문 정보를 별도 테이블로 분리하여, 고객ID를 참조하는 방식으로 데이터 일관성을 유지하는 것이 효과적입니다. 이는 데이터 중복을 30% 이상 줄이고, 수정 시 일관성 유지율이 98% 이상으로 향상됩니다. 반면 비정규화는 성능 향상을 위해 일부러 데이터를 하테이블에 병합하거나 중복 저장하는 방법입니다. 예를 들어, 주문 조회 속도를 높이기 위해 고객 주문 데이터를 정규화된 구조에서 비정규화하여 하테이블에 넣으면, 조회 속도가 평균 40% 향상되고, 조인 연산이 필요 없어 응답 시간이 크게 단축됩니다. 그러나 비정규화는 데이터 변경 시 무결성 확보가 어려워, 오류 발생률이 5% 이상 증가할 수 있기 때문에 신중한 설계가 필요합니다. 따라서 정규화는 데…