본문 바로가기
데이터

데이터 정규화 간단 정리

by 웨더맨 2022. 10. 26.
반응형

정규화는 ?
- 단계별 규칙을 사용하여 속성(Attribute)의 위치를 적절히 하는 것
- Codd 가 제안


목표
- 데이터 중복의 최소화


필요성
- 데이터 중복은 일관성을 해친다.(갱신이상 유발 가능성)
- 트랜젝션이 여러 테이블을 불필요하게 처리한다.
- 개체, 관계의 누락을 방지하는데 도움을 준다


정규화 단계

제1정규형
- 모든 속성은 반드시 하나의 값만 가져야 한다.
  반복되는 그룹을 제거한다.

제2정규형
- 키가 아닌 모든 속성은 반드시 기본키에 완전한 함수적 종속상태이어야 한다.
  기본키에 부분 종속적인 속성을 제거한다.

제3정규형
- 키가 아닌 속성간에는 서로 종속될 수 없다.
  속성간의 종속성을 배제한다


정규화순서
- 제1정규화->제2정규화->제3정규화->BCNF화->제4정규화->제5정규화


정규화 실무 적용시 유의점

정규화의 중요성
- 정규화를 통해 데이터의 중복을 방지하고 무결성을 손쉽게 유지할 수 있다.
- 데이터베이스를 설계하는 모든 사람은 정규화의 기본 기법에 친숙해야 한다,

정규화의 한계
- 성능을 위해 비정규화가 필요한 경우
- 현실적으로 필요하지 않은 너무 많은 단계의 분해 발생가능성

***
"정규화는 정말 좋은 충고이지만 반드시 지켜야 할 법은 아니다.”
***

 

모델링책추천

728x90
반응형

'데이터' 카테고리의 다른 글

서브쿼리 주의하기  (0) 2022.10.28
크로스 조인  (0) 2022.10.28
Nested Loops, Hash 정리  (0) 2022.10.19
SQLD 도전 이야기  (0) 2022.10.11
정보계 모델링 다차원 모델을 알아보자  (0) 2020.07.23

댓글