본문/내용
1. 데이터베이스 설계 시 어떤 정규화 과정을 거치며, 그 이유는 무엇인가요
데이터베이스 설계 시 정규화는 중복 데이터 방지와 데이터 무결성 유지 목적이 가장 크며, 이를 위해 주로 제1정규형(1NF), 제2정규형(2NF), 제3정규형(3NF)을 단계별로 거칩니다. 1NF에서는 반복되는 그룹 제거와 원자값 유지로 불필요한 중복을 방지하며, 데이터 저장 공간을 평균 30% 이상 절감할 수 있습니다. 2NF는 부분적 종속 제거를 통해 데이터 업데이트 시 무결성 문제를 최소화하며, 예를 들어 고객 주문 테이블에서 고객 정보와 주문 정보를 분리하여 데이터 일관성을 확보하는 방식입니다. 3NF는 이행적 종속 제거로 더 이상 의존 관계 없는 속성들을 분리하여, 데이터 변경 시 영향 범위를 50% 이상 줄여 안정성을 높입니다. 또한, 정규화를 통해 유지보수 비용 절감과 쿼리 성능 향상이 도모되며, 이에 따른 시스템 장애 발생률이 23% 감소하는 통계도 존재합니다. 최종적으로 설계 과정에서 비정규화 또는 역정규화를 병행하여 성능과 정합성을 적절히 조절하며, 실무에서는 평균 20% 이상 쿼리 응답 시간을 단축하는 효과를 기대할 수 있습니다.
2. SQL 인덱스의 역할과 …