🌿 중급 DB
정규화(Normalization)가 뭔가요?
쉽게 이해하기
옷장을 정리할 때 같은 옷을 여러 곳에 두지 않고 한 곳에 모아두는 것처럼, 데이터베이스 정규화는 같은 정보를 여러 테이블에 중복해서 저장하지 않고 한 곳에만 저장하는 거예요. 그래야 나중에 수정할 때도 한 곳만 바꾸면 되니까요.
핵심 정리
데이터베이스에서 중복을 줄이고 구조를 정리하는 설계 원칙이에요.
자세히 알아보기
데이터베이스 정규화는 데이터의 중복을 최소화하고 무결성을 유지하기 위한 설계 원칙입니다. 예를 들어, 주문 테이블에 고객 이름과 주소를 매번 저장하는 대신, 고객 테이블을 따로 만들고 주문 테이블에는 고객 ID만 저장하는 방식이에요.
정규화를 하지 않으면 같은 고객이 여러 번 주문할 때마다 이름과 주소가 반복 저장되고, 고객이 이사를 가면 모든 주문 기록의 주소를 일일이 수정해야 합니다. 정규화를 하면 고객 테이블의 주소 한 곳만 수정하면 되죠.
정규화에는 1차, 2차, 3차 등의 단계가 있어요. 1차 정규화는 각 칸에 하나의 값만 저장하는 것, 2차는 부분 종속성을 제거하는 것, 3차는 이행 종속성을 제거하는 것입니다. 대부분의 실무에서는 3차 정규화까지만 적용해요.
하지만 정규화를 너무 많이 하면 여러 테이블을 조인(JOIN)해야 해서 조회 속도가 느려질 수 있어요. 그래서 실무에서는 정규화와 성능 사이에서 적절한 균형을 찾는 게 중요합니다.