그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Database
Database

데이터베이스 정규화에 대해서 설명해주세요.

실무4/5
설계4/5
인간4/5
기초4/5

면접관의 질문 의도

정규형 이름과 정의만 외운 사람과, 함수 종속이라는 언어로 "왜 이 분해가 필요한가"를 짚고 역정규화 결정까지 균형 있게 설명하는 사람을 가른다. 후속 질문은 보통 3NF/BCNF 차이·역정규화 동기화·인덱스 설계로 이어진다.

큐레이션 답변

학습 자료

정규화는 "같은 사실은 한 곳에만 두자"는 원칙을 함수 종속 기준으로 풀어낸 모델링 기법이다. 1NF에서 원자값을 강제하고, 2NF에서 부분 함수 종속을 분리하고, 3NF에서 이행 종속을 분리하고, BCNF에서 후보키가 아닌 결정자를 분리하는 식으로 같은 데이터를 두 군데서 관리하지 않게 만든다. 그 결과 갱신·삭제·삽입 이상이 줄고 무결성이 단단해지지만, 자연스럽게 조인이 늘고 조회 비용이 따라온다. 역정규화는 이걸 다 알고 나서 "이 쿼리는 너무 자주 돌고 너무 비싸다"는 판단으로 다시 중복을 들이는 결정이다.

좋은 답변 구조

  1. 01정규화의 목적을 "중복 제거가 아니라 함수 종속 정리"라는 한 줄 정의로 짚는다
  2. 021NF~BCNF가 각각 어떤 종속을 제거하는지를 핵심 동작으로 정리한다
  3. 03정규화의 부작용(조인 증가·조회 비용)과 그 위에서 의식적으로 들이는 역정규화 개념을 연결한다
  4. 04어디까지 정규화하고 어디서 역정규화로 갈지의 기준을 무결성 비용과 조회 패턴으로 마무리한다

자주 실수하는 포인트

정규형을 "높을수록 좋다"고 단정하고 BCNF까지 무조건 끌고 가는 결론을 낸다
함수 종속 개념 없이 "중복을 줄이는 거"로만 설명해 1NF~3NF의 단계 차이를 못 짚는다
역정규화를 "성능 안 나오면 그냥 컬럼 복제하는 것"으로 다루고 동기화 비용·정합성 사고를 빠뜨린다
조회 패턴과 변경 빈도를 보지 않은 채 스키마 자체로만 우열을 가리려 한다

실무 맥락

  • 주문·결제·회원처럼 변경이 자주 일어나고 무결성 사고가 곧 비즈니스 사고로 이어지는 도메인 모델
  • 관리자 대시보드·리포트처럼 한 화면이 여러 테이블을 묶어 보여줘 조회가 무거워지는 환경
  • 오래 운영된 레거시 스키마가 부분적으로 평탄화·중복되어 있어 리팩터링을 검토하는 상황
  • 이벤트 소싱·CQRS처럼 쓰기 모델과 읽기 모델을 의식적으로 분리해 역정규화된 뷰를 따로 두는 구성

본인 경험에 녹이는 힌트

삽입·갱신 이상으로 데이터가 어긋났던 경험이 있다면 그 사고를 정규형 어느 단계의 위반이었는지로 다시 설명해볼 수 있다

느린 쿼리를 역정규화 컬럼으로 잡은 경험이 있다면 그 컬럼 동기화를 어떻게 보장했는지로 자연스럽게 이어진다

리포트·대시보드를 위해 별도 집계 테이블을 둔 경험이 있다면 쓰기 모델과 읽기 모델을 분리하는 시각으로 정규화/역정규화 균형을 말할 수 있다

DBA·시니어와 함께 ERD를 그리며 후보키와 함수 종속을 정리해본 경험이 있다면 그 과정을 답변의 뼈대로 쓸 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q13NF와 BCNF의 차이는 실무 스키마에서 어떤 형태로 나타나나요? 어떤 경우에 BCNF까지 가야 하나요?
Q2역정규화 컬럼은 어떻게 동기화하나요? 트리거·애플리케이션 레벨·이벤트 중 어떤 선택이 어떤 트레이드오프를 가지나요?
Q3정규화 수준과 인덱스 설계는 어떻게 같이 가야 하나요? 정규화를 풀면 인덱스 전략은 어떻게 달라지나요?
Q4이벤트 소싱·CQRS처럼 읽기 모델을 별도로 두는 구조에서는 정규화/역정규화 개념이 어떻게 재배치되나요?
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문