더북(TheBook)

그림 9-1에는 사원정보 테이블(emp_master), 부서정보 테이블(dept_master), 주소정보 테이블(address_master) 이렇게 총 세 테이블이 나와 있습니다. 사원정보 테이블에는 dept_id란 컬럼이 있는데 이 컬럼은 해당 사원이 어느 부서에 속해 있는지를 나타냅니다. 그런데 dept_id 값이 1, 2, 3, 4로 숫자로만 되어 있어 사원정보 테이블만 보면 정확히 어느 부서에 속해 있는지 알 수 없습니다. 구체적인 부서정보는 부서정보 테이블에 있죠. 김유신의 경우 dept_id 값이 1인데, 부서정보 테이블에서 dept_id 값이 1인 부서는 회계팀이란 것을 알 수 있습니다. 따라서 이 두 테이블은 dept_id란 컬럼이 연결고리 역할을 해서 특정 사원의 부서정보를 가져올 수 있는 것입니다. 마찬가지로 주소를 가리키는 address_id 컬럼도 주소정보 테이블의 address_id와 연결해 주소정보를 가져올 수 있습니다.

일반적으로는 테이블 간 연결고리 컬럼의 이름과 데이터형은 두 테이블 모두 동일하게 만듭니다. 컬럼 이름을 다르게 사용하기도 하지만 데이터형은 같아야 합니다. 컬럼 이름이 같아야 ‘아, 이 컬럼으로 두 테이블을 조인하는구나!’라고 판단할 수 있겠죠?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.