normalizationfunctional-dependencyanomaly
정규화가 필요한 이유를 설명해 주세요
- 예상 시간
- 6분
30초 답변
꼬리질문
조금 더 깊게 물어본다면
답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.
정규화를 하면 항상 성능이 좋아지나요?
삽입 이상은 어떤 상황인가요?
3NF의 핵심을 짧게 말하면 무엇인가요?
반정규화는 언제 선택하나요?
정규화와 무결성 제약은 어떤 관계가 있나요?
부가 설명
처음에는 테이블을 하나로 크게 만들면 조회가 편하다고 느낄 수 있습니다. 하지만 주문 테이블에 고객 주소, 상품명, 카테고리까지 반복해서 넣으면 고객 주소가 바뀔 때 여러 행을 모두 고쳐야 하고, 하나라도 놓치면 데이터가 서로 어긋납니다. 이런 삽입 이상, 수정 이상, 삭제 이상이 정규화가 등장하는 실제 문제입니다.
정규화는 데이터를 무작정 쪼개는 작업이 아니라, 한 사실이 한 곳에만 저장되도록 의존 관계를 정리하는 과정에 가깝습니다. 1NF, 2NF, 3NF 같은 단계는 중복의 원인을 더 세밀하게 제거하기 위한 기준입니다. 중복은 update anomaly, insert anomaly, delete anomaly 같은 이상 현상으로 이어질 수 있습니다.
한 줄 정리
정규화는 한 사실을 한 곳에 두기 위해 테이블의 의존 관계를 정리하는 일입니다.