데이터 모델링의 이해
🧩 모델링데이터 모델과 SQL★★★★★거의 매회

정규화 — 1차부터 BCNF까지

1차는 값을 쪼개고, 2차는 부분 종속을 없애고, 3차는 이행 종속을 없애며, BCNF는 결정자가 모두 후보키가 되게 한다.

1차 정규형2차 정규형3차 정규형BCNF함수 종속이상 현상

왜 그런지까지

정규화는 중복을 없애 이상 현상(삽입·수정·삭제 이상)을 막는 과정이다. 1차 정규형은 한 칸에 값이 하나만 오게 한다.

2차 정규형은 복합 키의 일부에만 딸린 속성을 떼어 낸다(부분 함수 종속 제거). 3차 정규형은 키가 아닌 속성에 딸린 속성을 떼어 낸다(이행 함수 종속 제거). BCNF 는 어떤 속성을 결정하는 것이 모두 후보키가 되도록 한다.

정규형

단계없애는 것한 줄 판별
1차한 칸에 여러 값칸마다 값이 하나인가
2차부분 함수 종속복합 키의 일부에만 딸린 속성이 있는가
3차이행 함수 종속키가 아닌 속성에 딸린 속성이 있는가
BCNF후보키가 아닌 결정자무언가를 결정하는 것이 모두 후보키인가

헷갈리는 것

2차 정규형 vs 3차 정규형

2차는 복합 키의 일부에만 딸린 속성(부분 종속)을 없애고, 3차는 키가 아닌 속성에 딸린 속성(이행 종속)을 없앤다.

정규화와 성능

정규화하면 표가 나뉘어 조인이 늘어 조회는 느려질 수 있지만, 중복이 줄어 입력·수정·삭제는 빨라지고 이상 현상이 사라진다.

확인 문제

넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다