본문 바로가기
데이터베이스

정규화

by do_ng 2021. 3. 22.

1. 정규화

 

정규화를 하는 가장 큰 이유는 모순(논리적으로 불일치한 데이터가 발생)을 방지할 수 있다는 것이다.

 

예시) 

해당 릴레이션에서 victolee 가 1학년인지 3학년인지 명확히 알수없는 모순이 발생했다. 

이러한 모순이 생기는 이유는 데이터의 중복이 가장 크기 때문에 정규화를 통해 중복을 제거함으로써 모순을 해결할 수 있다. 즉, 정규화는 릴레이션(테이블) 내에서 중복을 제거하는 과정을 뜻함 

 

 

2. 정규형

- 정규화 과정은 각각의 정규형이 되기 위한 조건들을 충족시키는 과정 

- 제1 정규형 ~ 제6 정규형 단계로 구분됨 

 

용어정리) 

- 무손실 분해(Lossless Decomposition) 

: 정규화를 진행하는 과정에서 중복을 제거하는 방법으로 이 때 원래의 정보를 잃어버리지 않으면서 분해하는 것 

무손실 분해가 되면 분해된 테이블을 Join 했을때도 원래의 정보를 얻을 수 있어야 함 

 

- 함수 종속성(Function Dependency)

: R이라는 테이블에 A,B라는 두개의 속성이 있다고 가정한다면, A의 값을 알면 B의 값을 알 수 있는 관계 

이 때 A의 값은 유일해야 하며(보통 PK로 설정함) B의 값은 중복되도 상관없음 

 

- 결합 종속성(Join Dependency)
: 해당 릴레이션(테이블)이 여러 개의 릴레이션으로 무손실 분해 될 때, 분해된 릴레이션을 결합해서 원래 릴레이션을 만들 수 있는 관계 

 

참고 : victorydntmd.tistory.com/132 

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

식별자의 정의와 키의 종류  (0) 2021.06.21
대량 데이터에 따른 성능 관리  (0) 2021.03.22
트랜잭션  (0) 2021.03.19
스토어드 프로그램이란?  (0) 2020.12.23
오라클 PL/SQL  (0) 2020.11.27