연습 3 · 4NF 판단
함수 종속 문제는 없어서 BCNF는 통과하지만, 독립 다치 사실 때문에 4NF는 깨진다
이 예제의 핵심은 같은 교수 아래에 과목 집합과 위원회 집합이 따로 늘어난다는 점입니다. 한 릴레이션에 함께 담으면 두 집합의 조합이 중복되므로 4NF 분해가 필요합니다.
관계 스키마
R(교수, 과목, 위원회) 후보키 = {교수, 과목, 위원회}
다치 종속
교수 →→ 과목
교수 →→ 위원회
빠른 결론
현재 정규형은
BCNF
하지만
4NF 위반
판단 축
BCNF
4NF
무엇을 검사하나
모든 함수 종속의 결정자
각 함수 종속
X → Y
에서
X
가 슈퍼키인지 본다.
모든 비자명 다치 종속의 결정자
각 다치 종속
X →→ Y
에서
X
가 슈퍼키인지 본다.
이 예제에 적용하면
함수 종속이 없다
BCNF를 깨뜨릴 함수 종속 자체가 없으므로 검사에서 탈락할 항목이 없다.
교수가 슈퍼키가 아니다
교수 →→ 과목
,
교수 →→ 위원회
가 있지만 교수 하나만으로는 전체 튜플을 식별하지 못한다.
판정
BCNF 만족
다치 종속은 BCNF 판단 대상이 아니므로 그대로 통과한다.
4NF 위반
비자명 다치 종속의 결정자가 슈퍼키가 아니어서 분해가 필요하다.
왜 중복이 생기나
김교수 과목 집합 = {DB, 운영체제} 위원회 집합 = {입시, 교과} 한 테이블에 같이 저장 → (DB, 입시), (DB, 교과), (운영체제, 입시), (운영체제, 교과)
과목과 위원회가 서로 독립인데도 한 릴레이션 안에서 곱집합처럼 결합되어 불필요한 조합이 반복됩니다.
4NF 분해
R1(교수, 과목)
PK = {교수, 과목}
R2(교수, 위원회)
PK = {교수, 위원회}
각 릴레이션이 한 종류의 다치 사실만 맡게 분리하면 독립 집합의 조합 중복이 사라지고 4NF 조건을 만족합니다.