인프런 커뮤니티 질문&답변

iternity님의 프로필 이미지
iternity

작성한 질문수

데이터베이스 중급(Modeling)

1:M 재귀적 관계

1:M 재귀관계 에서 질문이 있습니다.

작성

·

226

0

15분 18초에서요. 상위부서id에 null을 허용하는 부분이 자식은 낳을 수 있지만 안낳는것도 부모의 권리라고 하셨는데, foreign key가 null이라는건 부모가 null이라는것 아닌가요? 

자기자신이 최상위 부모의 경우에는 foreign key를 null로 설정하는 것 같은데 자식을 안낳는다는 표현이 이해가안돼서요. 자식을 낳지않으면 최상위 부모가 될수없지않나요? 

답변 2

1

이교준님의 프로필 이미지
이교준
지식공유자

부자 관계는 두 개의 테이블 사이의 관계입니다. 부모 테이블은 자식테이블이 있건 없건 존재합니다. 버스가 있고 좌석이 있다면 하나의 버스는 여러 개의 좌석을 갖기 때문에 테이블로 표현하면 부자관계가 됩니다. 만일 좌석을 다 들어내도 버스는 있는거죠. 즉, 좌석이 하나도 없는 부모 테이블이 될겁니다. 재귀건에서 자신이 자신의 테이블과 부자관계를 맺고 있는 경우입니다. 즉, 컬럼이 부서Id와 상위부서Id를 포함하고 있죠. 상위 부서 Id는 자신의 부모가 누군지에 대한 정보를 가지고 있는 것입니다. 그러나 최상위는 부모가 없겠죠.  중간 레벨 부서는 자신의 상위 부서도 있고 하위 부서도 있겠지요. 제일 마지막 부서는 상위 부서는 있고 하위 부서가 없는 구조겠지요.

0

iternity님의 프로필 이미지
iternity
질문자

답변 감사합니다. 최상위는 부모가 없는 인스턴스라는 거군요. 이해가 됐습니다.

iternity님의 프로필 이미지
iternity

작성한 질문수

질문하기