정규화란?

<aside> 💡

데이터 중복을 최소화하고, 논리적 구조를 체계적으로 정리하기 위한 데이터베이스

설계 방법

즉, 테이블을 잘게 나누고 관계를 설정해서 중복, 이상현상(Anomaly)을 방지

</aside>


정규화의 목적


주요 이상(Anomaly)의 예시

종류 설명 예시
삽입 이상 일부 정보만 넣고 싶어도 다른 정보까지 강제로 입력해야 함 과목을 추가하려면 학생 정보도 입력해야 함
삭제 이상 일부 정보만 지우고 싶은데 중요한 데이터도 같이 지워짐 한 학생을 삭제했더니 과목 정보도 사라짐
갱신 이상 같은 정보가 여러 군데 있어 수정할 때 전부 바꿔야 함 교수 이름이 여러 줄에 중복됨

정규화 단계

1NF (제1정규형: 원자값)


2NF (제2정규형: 부분 함수 종속 제거)


3NF (제3정규형: 이행 함수 종속 제거)