본문 바로가기
Computer Science/데이터베이스

[데이터베이스] 정규화

by Sky Titan 2020. 10. 26.
728x90

정규화

  • 데이터베이스의 데이터 중복을 없애서 이상 현상을 제거하고 하나의 릴레이션에 하나의 종속성만 표현되도록 하도록 릴레이션들을 분리하는 작업

 

1NF (제 1정규형)

  • 릴레이션에 속한 모든 속성 값의 도메인이 원자값(Atomic value)로만 구성됨

 

2NF (제 2정규형)

  • 1NF를 만족한다.
  • 기본 키가 아닌 속성들이 기본 키에 대하여 완전 함수적 종속을 만족해야한다.
완전함수적 종속 :
결정자의 속성들 중 하나라도 없어지면 종속을 만족하지 않는 경우
EX) '학번', '과목명' -> '성적' 일 때, 학번과 과목명 중 하나라도 없어지면 종속성이 없어진다.

 

3NF (제 3정규형)

  • 2NF를 만족한다.
  • 기본 키가 아닌 속성들이 기본 키에 대하여 이행적 종속을 만족하지 않아야 한다.
이행적 종속 :
A->B, B->C 일 때, A->C가 되는 경우

 

BCNF (Boyce - Codd 정규형)

  • 3NF를 만족한다.
  • 릴레이션에서 결정자가 모두 후보키인 정규형
  • 즉, 키가 아닌 속성에 대해선 완전 종속을 만족하면 안된다.

 

4NF (제 4정규형)

  • 릴레이션 R에 다치 종속 A->> B가 성립하는 경우 R의 모든 속성이 A에 함수적 종속관계를 만족한다.
다치 종속 (Multi valued Dependency) :
복합속성 (A,C)가 있을 때 B값의 집합이 A에만 종속되고 C에는 무관하면 B는 A에 다치 종속

 

5NF (제 5정규형)

  • 릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형
조인 종속 :
어떤 릴레이션 R의 속성에 대한 부분집합 A,B, ....C가 있다고 할 때 자신의 프로젝션 A,B, ...C 를 모두 조인한 결과가 자신과 동일하면 조인 종속 만족
728x90

댓글