이상 현상의 개념
불필요한 데이터 중복으로 인해 발생하는 부작용들이다.
함수 종속 관계 여러 개를 하나의 릴레이션에 표현하는 경우에 주로 발생한다.
이상 현상의 종류
삽입 이상: 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제다.
갱신 이상: 중복된 투플 중 일부 투플만 변경하여 데이터가 불일치하게 되는 모순의 문제다.
삭제 이상: 투플 삭제 시 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제다.
함수 종속
어느 시점에서든 릴레이션 내의 모든 투플에서 속성 집합 X값에 대한 속성 집합 Y값이 항상 하나면 "Y가 X에 함수적으로 종속되어 있다" 라고한다.
X->Y로 표현 (X는 결정자, Y는 종속자)
함수 종속 다이어그램
릴레이션 하나를 구성하는 속성들 간의 함수 종속 관계를 도식화하여 표현한 것이다.
정규화
함수 종속성을 이용하여, 릴레이션을 연관성이 있는 속성들로만 구성되도록 분해해 이상 현상이 발생하지 않는 바람직한 릴레이션으로 만들어나가는 과정이다.
정규형
릴레이션이 정규화된 정도를 나타내는 기준이다. 다음과 같은 네 가지 기본 정규형으로 주로 사용한다.
제 1정규형: 릴레이션에 속한 모든 속성의 도메인이 원자 값으로만 구성되어 있다.
제 2정규형: 릴레이션이 제 1정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되어 있다.
제 3정규형: 릴레이션이 제2정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 이행적으로 함수 종속되지 않았다.
보이스/코드 정규형: 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키다.