서버 개발/프로그래머를 위한 RDBMS

리커시브 모델의 활용

지노윈 2020. 5. 27. 09:42
반응형

부서 코드 테이블을 다음과 같이 계층형으로 표현합니다.

부서 ID가 다음과 같이 입력되어 있습니다.

1120이 테라PC실이인데 상위 조직이 1100이 아니라 1200으로 바뀌게 되면 1120이 1220으로 변경되어야 합니다.

그런데 이것만 바꾸는 것이 아니라 아래 모든 자식들도 바꾸어 주어야 합니다. 

부서 코드 테이블 뿐만 아니라 관계된 테이블이 있다면 모두 다 업데이트 해야 합니다. 사원에 부서 코드가 있었다면 관계 있는 모든 사원의 부서 코드가 업데이트 되어야 합니다.

 

이는 부서 코드 테이블에 상위 부서 컬럼이 추가 되면 해결됩니다.

상위 부서로서 '리커시브 모델'로 표현한 것입니다.

 

리커시브로 설계 했을 뿐인데 상위 조직이 바뀌면 상위 부서 ID 하나만 수정하면 됩니다. Happy!!!