1. 정규화
정규화를 하는 가장 큰 이유는 모순(논리적으로 불일치한 데이터가 발생)을 방지할 수 있다는 것이다.
예시)
해당 릴레이션에서 victolee 가 1학년인지 3학년인지 명확히 알수없는 모순이 발생했다.
이러한 모순이 생기는 이유는 데이터의 중복이 가장 크기 때문에 정규화를 통해 중복을 제거함으로써 모순을 해결할 수 있다. 즉, 정규화는 릴레이션(테이블) 내에서 중복을 제거하는 과정을 뜻함
2. 정규형
- 정규화 과정은 각각의 정규형이 되기 위한 조건들을 충족시키는 과정
- 제1 정규형 ~ 제6 정규형 단계로 구분됨
용어정리)
- 무손실 분해(Lossless Decomposition)
: 정규화를 진행하는 과정에서 중복을 제거하는 방법으로 이 때 원래의 정보를 잃어버리지 않으면서 분해하는 것
무손실 분해가 되면 분해된 테이블을 Join 했을때도 원래의 정보를 얻을 수 있어야 함
- 함수 종속성(Function Dependency)
: R이라는 테이블에 A,B라는 두개의 속성이 있다고 가정한다면, A의 값을 알면 B의 값을 알 수 있는 관계
이 때 A의 값은 유일해야 하며(보통 PK로 설정함) B의 값은 중복되도 상관없음
- 결합 종속성(Join Dependency)
: 해당 릴레이션(테이블)이 여러 개의 릴레이션으로 무손실 분해 될 때, 분해된 릴레이션을 결합해서 원래 릴레이션을 만들 수 있는 관계
'데이터베이스' 카테고리의 다른 글
식별자의 정의와 키의 종류 (0) | 2021.06.21 |
---|---|
대량 데이터에 따른 성능 관리 (0) | 2021.03.22 |
트랜잭션 (0) | 2021.03.19 |
스토어드 프로그램이란? (0) | 2020.12.23 |
오라클 PL/SQL (0) | 2020.11.27 |