실무 기준선
대부분은 3NF까지 적용하고, 이후는 운영 목적에 맞춰 조정합니다.
정규화는 이론 단계를 끝까지 밀어붙이는 규칙이라기보다, 무결성·조회 성능·서비스 경계를 어떤 시스템에서 더 우선하느냐에 따라 적용 강도가 달라지는 설계 기준입니다.
공통 출발점
기본선은 3NF 대부분의 실무 시스템은 여기까지로 충분합니다.
BCNF는 예외적 보강 특수한 결정자 문제를 더 엄격히 다룰 때만 추가합니다.
4NF·5NF는 심화 이론 실무 빈도보다 개념 이해의 비중이 더 큽니다.
OLTP 운영계 쓰기 정확성과 일관성이 우선
OLAP 분석계 읽기 속도와 집계 효율이 우선
마이크로서비스 서비스 경계 안팎의 규칙을 분리
어떻게 설계하나
3NF를 엄격하게 유지 중복을 줄이고 갱신 이상을 막는 방향으로 분해합니다.
스타 스키마로 반정규화 사실 테이블과 차원 테이블을 조회 중심으로 배치합니다.
서비스 내부만 3NF 각 서비스는 자기 도메인 안에서만 정규화 책임을 집니다.
무엇을 우선하나
데이터 무결성 입력·수정·삭제가 충돌 없이 일관되게 유지되어야 합니다.
조회 성능 분석 쿼리가 적은 조인으로 빠르게 집계되도록 맞춥니다.
도메인 분리 서비스 간 독립 배포와 소유권 분리가 더 중요합니다.
중복은 어떻게 다루나
가능한 한 최소화 같은 사실이 여러 곳에 퍼지면 갱신 이상이 생기기 쉽습니다.
차원 테이블은 의도적으로 중복 읽기 편의를 위해 일부 중복을 감수합니다.
서비스 간 중복 허용 같은 데이터라도 경계가 다르면 별도 사본을 가질 수 있습니다.
요점
정규화의 기본 답은 3NF이지만, 실무에서는 시스템의 목적에 따라 엄격 유지, 의도적 반정규화, 경계 밖 중복 허용으로 적용 방식이 갈립니다.