데이터베이스 설계 → 이상 현상 발생
함수의 종속성을 판단하여 정규화를 수행함
X→Y ( X: 결정자, Y: 종속자 )
→ X가 Y를 함수적으로 결정한다
→ 기본키로 다른 속성을 구분할 수 있다.
함수 종속 관계 판단시 유의 사항:
함수 종속 관계 판단 예시 1
함수 종속 관계 판단 예시 2
→ 완전 함수 종속 (Full Functional Dependency)
→ 부분 함수 종속 (Partial Functional Dependency)
→ 고려할 필요가 없는 함수 종속 관계
결정자와 종속자가 같거나, 결정자가 종속자를 포함할 경우
이상 현상을 제거하면서, 릴레이션이 관련있는 속성들로 구성되도록 **릴레이션을 분해(decomposition)**하는 과정 (잘못된 설계를 바로잡는 과정)
→ 관계형 데이터베이스 설계하면 제 1정규형 릴레이션임
완전한 종속 관계를 만들어내는 것이 목표
정규화를 통해 릴레이션은 무손실 분해되어야함 (nonloss decomposition)
정규형 (Normal Form) : 릴레이션이 정규화된 정도
각 정규형마다 제약조건이 있다 : 정규형의 차수가 높아질수록 요구되는 제약조건이 많아지고 엄격해짐
제 1 정규형 : 릴레이션의 모든 속성이 **더이상 분해되지 않는 원자값(atomic value)**을 가짐
제 1 정규형을 만족해야 관계 데이터베이스의 릴레이션이 될 자격이 있음
제 1 정규형은 만족하지만, 이상 현상이 발생한다. ⇒ 데이터 중복으로 인한 이상 현상 발생
→ 기본키에 완전 함수 종속되지 못한 등급과 할인율 때문에 이상현상이 발생한다.
→ 부분 함수 종속이 제거되도록 이벤트 참여 릴레이션을 분해함 (이때 분해된 릴레이션들은 제 2정규형에 속하게 됨)
→ 결정자와 결정자에 종속되는 속성들을 함께 떼어내어 새로운 릴레이션을 생성할 때 결정자를 분할 전의 릴레이션에도 공통 속성으로 남겨두어야함 ⇒ 이후에 결정자가 외래키로써 분해된 릴레이션 사이의 연관성을 유지할 수 있다