Lossless Join

분해가 맞았는지는 원본으로 되돌려 확인한다

분해한 테이블을 공통 키로 다시 붙였을 때 원래 행만 복원되어야 한다. 없던 조합이 생기면 무손실 분해가 아니다.

1 분해된 테이블

Student, Course, Enrollment가 공통 키를 보존한다.

2 공통 키로 조인

학번과 과목코드가 맞는 행만 다시 붙인다.

3 원본과 대조

행 수와 키 조합이 원본과 같으면 통과다.

학번
학생명
과목
성적
S01
김민수
C10 DB
A
S01
김민수
C20 운영체제
B+
S02
이서연
C10 DB
A-
3 rows 원본 수강 키 조합

S01-C10, S01-C20, S02-C10

3 rows 조인 후 복원 행

원본과 같은 세 행만 돌아온다.

0 fake 가짜 조합 차단

S02-C20 같은 없던 수강은 생기지 않는다.

무손실 조인은 “분해 후에도 원본 정보가 사라지지 않고, 새 정보도 만들어지지 않는다”는 것을 행 수와 키 조합으로 확인하는 검산이다.