얼음꽃의 일지

정규화 본문

항해 일지

정규화

얼음꽃 2022. 12. 18. 01:20
728x90

정규화의 개념

- 정규화란 하나의 릴레이션에 하나의 의미만 존재할 수 있도록 릴레이션을 분해해나가는 과정

- 데이터 모델링의 단계 중 가장 중요한 단계로써 논리 데이터 모델링을 상세화하는 단계

- 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념

- 정규형이란 특정 조건에 만족하는 릴레이션 스키마의 형태를 의미

- 기본 정규형에 1NF, 2NF, 3NF, BCNF가 있고 고급 정규형에는 4NF, 5NF 존재

 

* 릴레이션 : 테이블과 같은 의미로, 튜플과 속성으로 이루어짐

정규화의 목적

- 구성되는 모든 릴레이션이 중복되지 않게 효과적으로 데이터베이스 내에 표현이 가능하도록 함

- 보다 간단한 연산자에 의해 효과적인 연산이 가능하도록 구성

- 새로운 형태의 데이터가 삽입될 때 릴레이션을 재구성할 필요성을 감소시키도록 함

- 자료 검색과 추출의 효율성을 추구

- 전체적인 성능 향상에 기여하기 위해서이다

 

정규화의 필요성

- 자료의 저장 공간을 최소화

- 자료의 불일치를 최소화

- 자료 구조를 안정화

- 자료의 삽입, 삭제, 갱신 시 이상 현상을 방지

 

정규화의 특징

- 어떤한 관계 구조가 바람직한 것인지, 바람직하지 못한 관계를 어떻게 분해하여야 하는지에 관한 구체적인 판단기준을 제공

- 정규화된 데이터 모델은 정확성, 일치성, 단수성, 비중복성, 안정성을 보장

 

정규화의 장단점

1. 장점

- 정규화 수준이 높으면 유연한 데이터 구축이 가능

- 정규화 수준이 높으면 데이터의 정확성이 높아짐

 

2. 단점

- 정규화 수준이 높으면 물리적 접근이 복잡

- 정규화 수준이 높으면 길이가 짧은 데이터 생성으로 많은 조인이 발생

 

정규화 과정

정규화 과정

728x90

'항해 일지' 카테고리의 다른 글

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