테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정
가능한 한 중복을 제거하여 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것
비정규 릴레이션
↓ 도메인 원자값
1. 제 1 정규형 (1NF : First Normal Form)
테이블에 속한 모든 속성의 도메인이 원자 값만으로 되어 있는 정규형
↓ 부분 함수적 종속 제거
2. 제 2 정규형 (2NF : Second Normal Form)
기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형
완전 함수적 종속
속성 Y가 다른 속성들의 집합 X 전체에 대해 함수적 종속이면서 속성 집합 X의 어떠한 진부분 집합에도 함수적 종속이 아닐 때, 속성 Y는 속성 집합 X에 완전 함수적 종속.
↓ 이행적 함수적 종속 제거
3. 제 3 정규형 (3NF : Third Normal Form)
기본키가 아닌 모든 속성이 기본키에 대해 이행적 함수적 종속을 만족하지 않는 정규형
이행적 함수적 종속
A → B 이고 B → C 일때 A → C를 만족하는 관계
↓ 결정자이면서 후보키가 아닌것 제거
4. BCNF (Boyce-Codd Normal Form)
테이블에서 모든 결정자가 후보키인 정규형
↓ 다치 종속
5. 제 4 정규형 (4NF : Fourth Normal Form)
테이블 R에 다중 값 종속 A → → B 가 존재할 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형
↓ 조인 속성 이용
6. 제 5 정규형 (5NF : Fifth Normal Form)
테이블 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형
비정규화( Denormalization, = 역정규화)
조인을 사용하여 다시 연결
조인을 사용하면 응답 속도가 떨어져 정규화에 위배되지만 성능은 향상됨
도부이결다조.....
'개발일기' 카테고리의 다른 글
DDD (Domain Driven Design) (0) | 2024.04.15 |
---|---|
Front-end Framework (0) | 2024.04.15 |
실행 동영상 (0) | 2024.04.11 |
openbabel 설치 - centos (0) | 2024.04.10 |
svn to git (0) | 2024.04.10 |