DB

join - 데이터 집합 레벨 변화

KingBini 2024. 4. 25. 14:51

 

join - 데이터 집합 레벨 변화

직원 테이블(emp)

empno name deptno
1 Alice 10
2 Bob 20
3 Carol 10
4 Dave 30
5 Eve 20
- 직원 테이블 집합 레벨 : empno로 unique하며, deptno로 중복(M) 레벨이다.    

부서 테이블(dept)

deptno deptname
10 HR
20 IT
30 Sales
- dept 테이블 집합 레벨 : 기본키는 deptno임으로 유니크 레벨 이다.  

emp 테이블, dept 테이블 deptno로 조인

select

emp.empname,

dept.deptname

`from emp`

`join dept on emp.deptno = dept.deptno;`

empno name deptno
1 Alice 10
2 Bob 20
3 Carol 10
4 Dave 30
5 Eve 20

조인 컬럼 deptno 기준 emp, dept 관계는 M(중복):1(유니크) 관계

  • 조인 시 M 테이블 기준으로 유니크레벨을 유지한다..

집합 레벨 변화

  • 조인 시, deptno가 M:1 관계로 변경됩니다. emp 테이블은 유니크 레벨인 empno로 유지되지만, dept 테이블은 M:1 관계에서 중복(M) 레벨로 변환한다.
  • 따라서, 조인 결과는 M 테이블의 고유성(유니크) 레벨을 따른다.

정리

조인 결과, M:1 관계에서 M(중복) 레벨을 따라가는 테이블이 결과적으로 중복된 레벨을 가지게 된다. 따라서 조인 후에도 유니크 레벨을 유지하려면 조인 컬럼을 적절하게 선택하는 것이 중요하다.