normalizationfunctional-dependencyanomaly

정규화가 필요한 이유를 설명해 주세요

예상 시간
6
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

정규화를 하면 항상 성능이 좋아지나요?

부가 설명

처음에는 테이블을 하나로 크게 만들면 조회가 편하다고 느낄 수 있습니다. 하지만 주문 테이블에 고객 주소, 상품명, 카테고리까지 반복해서 넣으면 고객 주소가 바뀔 때 여러 행을 모두 고쳐야 하고, 하나라도 놓치면 데이터가 서로 어긋납니다. 이런 삽입 이상, 수정 이상, 삭제 이상이 정규화가 등장하는 실제 문제입니다.

정규화는 데이터를 무작정 쪼개는 작업이 아니라, 한 사실이 한 곳에만 저장되도록 의존 관계를 정리하는 과정에 가깝습니다. 1NF, 2NF, 3NF 같은 단계는 중복의 원인을 더 세밀하게 제거하기 위한 기준입니다. 중복은 update anomaly, insert anomaly, delete anomaly 같은 이상 현상으로 이어질 수 있습니다.

한 줄 정리

정규화는 한 사실을 한 곳에 두기 위해 테이블의 의존 관계를 정리하는 일입니다.