본문 바로가기

Back-end/Database

[Database] 정규화란?

정규화데이터의 중복 방지, 무결성을 충족 시키기 위해 데이터베이스를 설계하는 것을 의미합니다.

 

  1. 제1정규형: 모든 속성 값이 원자값을 갖도록 분해한다.
  2. 제2정규형: 제1정규형을 만족하고, 기본키가 아닌 속성이 기본키에 완전 함수 종속이도록 분해한다.
  3. 제3정규형: 제2정규형을 만족하고, 기본키가 아닌 속성이 기본키에 직접 종속하도록 분해한다.
  4. BCNF 정규형: 제3정규형을 만족하고, 함수 종속성 X->Y가 성립할 때 모든 결정자 X가 후보키가 되도록 분해한다.