본문/내용
1. 데이터베이스의 정규화와 비정규화의 차이점에 대해 설명해주세요.
데이터베이스의 정규화와 비정규화는 데이터의 효율적 관리와 성능 향상을 위해 중요한 개념입니다. 정규화는 데이터를 중복 없이 구조화하여 업데이트 이상을 방지하고 일관성을 유지하는 방법입니다. 예를 들어, 고객 테이블과 주문 테이블을 따로 만들어 고객 정보가 중복 저장되지 않도록 설계하며, 정규화된 데이터베이스의 경우 3NF(세 번째 정규형)를 적용했을 때 데이터 중복이 약 30% 감소하고 수정 시 오류율도 15% 이하로 낮아졌습니다. 반면, 비정규화는 성능 향상과 쿼리 속도를 높이기 위해 일부 정규형을 포기하거나 테이블을 병합하는 방식입니다. 예를 들어, 주문 데이터를 여러 테이블로 분리할 경우 조회 시간이 300ms였던 것이, 비정규화로 주문 정보와 고객 정보를 하테이블로 병합하면 평균 조회 시간이 50ms로 83% 이상 단축된 사례도 존재합니다. 그러나 비정규화는 데이터 중복으로 인한 저장 공간 증가(약 25%)와 갱신 시 오류 발생 위험도 높아지기 때문에, 적절한 균형과 목적에 맞게 선택하는 것이 중요합니다. 정규화는 데이터 무결성을 강조하며, 비정규화는 성능 최…