본문 바로가기
Computer Science/DB

정규화를 하는 이유와 방법

by 양찬우 2021. 5. 31.
728x90

1. 정규화란?

관계형 데이터베이스 설계 시 중복을 최소화하도록 데이터를 구조화 하는 작업

2. 정규화를 하는 이유?

중복된 데이터를 제거해 이상(anormaly)을 제거 하는 것

 

Anomaly 이상이란?

  • 어노멀리는 데이터 이상현상으로, 중복된 데이터 때문에 발생함.
  • 어떤 처리를 할 때, 중복된 데이터를 동시에 전부 처리하지 못하고 일부만 처리할 경우 어떤 데이터가 맞는지 모르고 결국 데이터는 이상해짐.
  • 정규형 모델에서는 어노멀리가 최소화되며, 중복 데이터를 채택한 모델에는 다음과 같은 아노말리가 발생함.
    • 갱신 이상 : 릴레이션에서 속성의 값을 업데이트할 때 일부만 갱신되고 정보에 모순이 발생하는 현상
    • 삭제 이상 : 릴레이션에서 인스턴스를 삭제할 때 의도와 상관없는 값이 삭제되는 현상
    • 삽입 이상 : 릴레이션에 새로운 인스턴스를 삽입할 때 의도와 상관없는 값들도 함께 삽입되는 현상

3. 정규화 방법 

정규화 된 정도를 정규형(Normal Form) 으로 표현하는데, 정규형에는 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 6NF 까지 있다. 비공식적 표현으로는 3NF 가 되었으면 정규화 되었다고 말한다. 3NF 테이블의 대부분이 삽입, 변경, 삭제 이상이 없으며, 3NF 테이블의 대부분이 BCNF, 4NF, 5NF이다.

 

1NF 도메인이 원자값
2NF 1NF를 만족하며 부분적 함수 종속 제거 
3NF 2NF를 만족하며 이행적 함수 종속 제거 
BCNF 3NF를 만족하며 결정자이면서 후보키가 아닌 것 제거
4NF BCNF를 만족하며 다치 종속
5NF 4NF를 만족하며 조인 종속성 이용 

 

728x90

'Computer Science > DB' 카테고리의 다른 글

ACID 속성이란?  (0) 2021.05.31
인덱스란?  (0) 2021.05.31
DDL, DCL, DML, TCL  (0) 2021.05.31

댓글