2016-11-25 4 views
0

"SupervisorID"로 필드를 구현하는 "person"테이블이 있습니다. 데이터베이스 테이블 디자인 - 부모 자식 레코드가 주 테이블에서 분리됩니까?

SupervisorID 필드가 비어있는 경우 SupervisorID

PersionName DOB 주소 을 PersonID 또는 NULL은/그 의미 그녀는 전혀 관리자 또는 감독자입니다.

나는 별도의 테이블로 분리하려고 생각하고있다. 이 '부모 - 자식 관계'를 나타내는 '감독자'테이블.

테이블 '관리자' SupervisorID 이 테이블에 표시되지 않습니다 감독자가없는 사람들을 위해

을 PersonID.

+1

Google을 사용하셨습니까? 당신의 문제에 대한 해결책이 많습니다. 이것은 당신 [시작점] (https://en.wikipedia.org/wiki/Database_design) –

답변

0

앞서 언급했듯이, 다 대다 관계를 만들려고합니다 (즉, 직원이 다수/1/수 상사를 가질 수 있음).

간단한 일대 다 관계의 경우 추가 테이블은 (SupervisorID, PersonID) 만 포함 된 경우 일반적으로 필요하지 않습니다. 관계에 고유 한 속성이있는 경우에 유용합니다. 예를 들어, (SupervisorID, PersonID, DateStarted)는 추가 속성을 깔끔하게 저장하는 데 유용합니다. 직원 - 감독자 관계가 시작된 날짜입니다.