티스토리 뷰
* 정규화
1. 이상 문제를 해결하기 위해 어트리뷰트 간의 종속 관계를 분석하여 여러개의 릴레이션으로 분해하는 과정.
2. 릴레이션의 애트리뷰트, 엔티티 , 관계성을 파악하여 데이터의 중복성을 최소화 하는 과정
3. 논리적 설계 단계에서 수행 ★
4. 정규화를 통해 릴레이션을 분해하면 일반적으로 연산시간이 증가한다.
5. 정규화 과정은 주어진 릴레이션 변수들의 모임을 더 바람직한 어떤 형태로 점차 유도해 가는 과정으로 특징 지을 수 있다. 이 과정은 가역적 이다.
목적
1. 데이터 베이스 연산의 여러 가지 이상을 없애기 위함이다.
2. 데이터 베이스의 물리적 구조나 물리적 처리에 영향을 주는 것이 아니라, 논리적 처리 및 품질에 큰 영향을 미친다.
이상
어트리뷰트간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현함으로 인해 발생하는 현상.
( 삽입이상, 삭제이상, 갱신이상)
- 이상현상을 제거
삽입 이상 , 삭제 이상, 갱신 이상
- 릴레이션 분해
- 함수 종속
1. A -> B A는 결정자 B는 종속자 , B는 A에 함수적 종속
2. 결정자가 2개인 경우,
A,B -> C A,B는 결정자 C는 종속자 , A,B,C,는 완전함수 종속
B -> D D와 B 관계는 부분함수 종속
3. A->B , B->C , A->C
이행적 함수종속
2정규화 부분함수, 종속제거
3정규화 이행함수, 종속제거
비정규 릴레이션
↓
원자값이 아닌 도메인을 분해
↓
1 정규형
↓
부분함수 종속 제거
↓
2 정규형
↓
이행함수 종속제거
↓
결정자가 후보키가 아닌 함수 종속제거
↓
BCNF
↓
함수 종속이 아닌 다치 종속 제거
↓
4 정규형
후보키를 통하지 않은 조인종속 제거
↓
5 정규형