정규화의 개념
- 정규화란 하나의 릴레이션에 하나의 의미만 존재할 수 있도록 릴레이션을 분해해나가는 과정
- 데이터 모델링의 단계 중 가장 중요한 단계로써 논리 데이터 모델링을 상세화하는 단계
- 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념
- 정규형이란 특정 조건에 만족하는 릴레이션 스키마의 형태를 의미
- 기본 정규형에 1NF, 2NF, 3NF, BCNF가 있고 고급 정규형에는 4NF, 5NF 존재
* 릴레이션 : 테이블과 같은 의미로, 튜플과 속성으로 이루어짐
정규화의 목적
- 구성되는 모든 릴레이션이 중복되지 않게 효과적으로 데이터베이스 내에 표현이 가능하도록 함
- 보다 간단한 연산자에 의해 효과적인 연산이 가능하도록 구성
- 새로운 형태의 데이터가 삽입될 때 릴레이션을 재구성할 필요성을 감소시키도록 함
- 자료 검색과 추출의 효율성을 추구
- 전체적인 성능 향상에 기여하기 위해서이다
정규화의 필요성
- 자료의 저장 공간을 최소화
- 자료의 불일치를 최소화
- 자료 구조를 안정화
- 자료의 삽입, 삭제, 갱신 시 이상 현상을 방지
정규화의 특징
- 어떤한 관계 구조가 바람직한 것인지, 바람직하지 못한 관계를 어떻게 분해하여야 하는지에 관한 구체적인 판단기준을 제공
- 정규화된 데이터 모델은 정확성, 일치성, 단수성, 비중복성, 안정성을 보장
정규화의 장단점
1. 장점
- 정규화 수준이 높으면 유연한 데이터 구축이 가능
- 정규화 수준이 높으면 데이터의 정확성이 높아짐
2. 단점
- 정규화 수준이 높으면 물리적 접근이 복잡
- 정규화 수준이 높으면 길이가 짧은 데이터 생성으로 많은 조인이 발생
정규화 과정
'항해 일지' 카테고리의 다른 글
Promise? 약속? (0) | 2022.12.18 |
---|---|
CORS 란? (0) | 2022.12.18 |
Array 와 Linked-List 차이 (0) | 2022.12.18 |
시간 복잡도와 공간 복잡도 (0) | 2022.12.18 |
var, let, const 삼총사 (0) | 2022.12.17 |