정규화(Normalization)은 다양한 정보를 포함하고 있는 하나의 테이블을 각 정보에 맞게 쪼개는 작업을 의미합니다.

따라서, 정규화는 '무손실 분해'라고 합니다.

 

 


 

 

정규화는 각각의 정보를 별도의 릴레이션으로 무손실 분해해서 이상현상을 제거하는 것에 목적을 두고 있습니다.

 

이러한 정규화는 6가지로 나눌 수 있지만 일반적으로 세 종류의 정규화를 주로 사용합니다.

정규화 단계를 거쳐야 다음 정규화 과정을 수행할 수 있습니다.

 

 

# 정규화

 

  1.  1NF 릴레이션
  2.  2NF 릴레이션
  3.  3NF 릴레이션
  4.  BCNF 릴레이션
  5.  4NF 릴레이션
  6.  5NF 릴레이션

 

 

 

1. 제 1정규형(1NF)

 

1NF는 다중값 속성을 제거하는 단계입니다.

즉, 정규화를 수행하는 릴레이션의 모든 속성값이 원자(단일)값을 가지면 1NF라고 합니다.

 

 

2. 제 2정규형(2NF)

 

2NF는 하나의 릴레이션에 두 개의 릴레이션이 종속되어 있다면 분해하는 단계입니다.

즉, 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때 2NF라고 합니다.

 

 

3. 제 3정규형(3NF)

 

비이행적(non-transitive)으로 종속할 때 3NF라고 합니다.

이행적 종속이란 A = B, B = C일때, A = C가 성립되는 함수 종속성입니다.

 

 

 

 

 

'Database > SQL' 카테고리의 다른 글

외부 조인  (0) 2023.08.21
그룹화  (0) 2023.08.17
인라인 뷰  (0) 2023.08.17
외래 키  (1) 2023.08.16
데이터 사전  (0) 2023.08.16

+ Recent posts