용어 | 설명 |
---|---|
정규화(Normalization) | DBMS 테이블의 삽입/삭제/수정 과정에서의 이상(Anomaly) 현상의 발생 최소화하기 위해 작은 단위의 테이블로 나누는 과정 |
정규형(NF: Normal Form) | 데이터 모델이 갖춰야 할 특성을 만족하는 정규화된 결과물 |
함수적 종속성(FD: Functional Dependency) | 테이블의 특정한 칼럼 값(A)을 알고 있으면 다른 칼럼 값(B)을 알 수 있다고 가정할 때, 칼럼 B는 칼럼 A에 함수 종속성을 갖는다고 표현 |
결정자(Determinant) | 함수적 종속성에서 학번은 학생 이름을 결정짓는 요소기 때문에 '결정자'라고 표현 |
다치 종속(MVD: MultiValued Dependency) | 결정자 칼럼 A에 의해 칼럼 B의 값을 다수 알 수 있을 때, 칼럼 B는 칼럼 A에 다치종속 되었다고 표현 |
- 한 속성에 여러 개의 속성이 포함되어 있거나 같은 유형의 속성이 여러 개로 나뉘어 있는 경우 함수 종속성을 근거로 해당 속성 분리
예시)
제1정규화 위반 예시
제1정규화 + PK가 아닌 모든 칼럼은 PK 전체에 종속
제2정규화 위반 예시
제2정규화 + 일반 속성 간 함수 종속 관계 존재하지 않아야 함
컬럼 반정규화 -> 중복/파생/이력 테이블 컬럼 추가, PK에 의한 컬럼 추가, 응용 시스템 오작동 위한 컬럼 추가
관계 반정규화 -> 중복 관계 추가