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 |
댓글