본문/내용
1. 데이터베이스 설계 시 정규화와 비정규화의 차이점에 대해 설명하세요.
데이터베이스 설계 시 정규화와 비정규화는 각각 다른 목적과 특성을 가지고 있습니다. 정규화는 데이터 중복을 최소화하고 데이터 무결성을 높이기 위해 테이블을 조정하는 과정으로, 1차 정규화부터 5차 정규화까지 단계별로 수행됩니다. 예를 들어, 고객 주문 데이터베이스에서 고객 정보와 주문 정보를 별도 테이블로 분리하면, 고객 정보 수정 시 중복된 데이터를 일일이 수정하지 않아도 되어 데이터 일관성을 유지하기 쉽습니다. 반면, 비정규화는 성능 향상을 위해 일부 테이블을 결합하거나 중복 데이터를 허용하는 방식입니다. 예를 들어, 온라인 쇼핑몰에서는 주문 처리 속도를 높이기 위해 고객 정보와 주문 정보를 하테이블에 저장하는 경우가 있으며, 이는 조회 속도를 대폭 개선하는 효과를 가져옵니다. 실제 경험상, 정규화된 데이터베이스는 데이터 삭제 또는 갱신 시 무결성을 유지하기 쉽지만, 복잡한 조인 연산으로 인해 쿼리 성능이 저하될 수 있으며, 비정규화는 읽기 속도를 늘릴 수 있지만, 데이터 중복으로 인한 일관성 문제를 야기할 수 있습니다. 따라서, 사용자 요청…