• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

조인 메커니즘 - 조인실습 02 질문

22.10.17 00:06 작성 조회수 200

0

5분45초 영상입니다.

select

from hr.emp a

join hr.emp_dept_hist b on a.empno = b.empno

join hr.dept c on b.deptno = c.deptno

라고 하셨는데

 

  1. emp_dept_hist테이블에 empno, deptno, fromdate 컬럼 모두 pk인데, 정작 테이블을 보면 empno가 7369라는 값을 2개 가지고 있는데 그러면 중복된 값인데 pk인 이유를 모르겠습니다.

  1.  emp_dept_hist의 deptno도, 현실적으로 영업>마케팅>영업 이런식으로 한개의 부서에 2번이상 있을 수 있으니까 pk가 아니지 않나 궁금합니다. 한번 갔던 부서는 다시는 또 근무할 수 없다 는 전제가 깔린건가요?

답변 1

답변을 작성해보세요.

1

PK에 대한 이해를 잘못하고 계시는 군요.

  1. PK가 empno, deptno, fromdate라는 의미는 empno + deptno + fromdate 값으로만 유일하다는 의미입니다. 그러니까 empno: 7369, deptno:10, fromdate:10월 5일로 유일한 값, empno:7369, deptno:20, fromdate 12월 6일로 유일한 값이라는 의미 입니다. empno 7369가 2개 나오든 10개 나오든 상관없이 empno + deptno + fromdate 값으로만 유일합니다.

  2. 1번 답변을 참조하십시요.

 

깁헬프님의 프로필

깁헬프

질문자

2022.10.18

PK가 테이블에서 한개밖에 없다면 전체 레코드에서 값이 유일하고, N개일 경우 이들의 조합으로 PK 1개의 역할을 한다는 말씀이군요. 감사합니다.