이것은 숙련 된 데이터베이스 개발자에게는 아마도 간단한 문제 일 뿐이지 만 고민 중입니다 ... 특정 ER 다이어그램을 DB 모델로 변환하는 데 어려움이 있습니다. .하위 유형 크로스 링크를 사용하는 수퍼 유형/하위 유형 DB 디자인
I이 프레젠테이션 17 슬라이드 비슷한 설정을 가지고 http://www.cbe.wwu.edu/misclasses/mis421s04/presentations/supersubtype.ppt
슬라이드 (17)는 직원 유형 속성을 갖는 직원 퍼와 ER도를 도시하고, 고용 형태 시간별 자체 (아류로, 급여 컨설턴트), 이는 내 설계 상황과 매우 유사합니다.
내 경우에는 다른 직원의 보스가 될 수있는 유일한 직원 인 Salary Employees가 있다고 가정하고 특정 Salary 직원이 Hourly 및/또는 Salary Employee 및/또는 Consultant의 보스인지 여하튼 나타낼 수 있습니다. , none 또는 both), 데이터베이스 모델에서이 모델을 어떻게 설계 할 수 있습니까? 또한 일대 다 관계라고 생각하십니까?
두 테이블간에 FK_Employee 및 FK_SalariedEmployee가있는 두 개의 FKeys와 SalariedEmployee를 참조하는 PK-FK 관계를 만들 수 있습니다. 그러나 나는 현명한 해결책이 아닐 수도 있습니다. ... 왜 내가 확신 할 수는 없지만 (무결성 문제?).
이 해결책입니까 아니면 더 좋은 해결책입니까 아니면 더 좋은 해결책입니까?
미리 도움을 청하십시오!
답변 해 주셔서 감사합니다. 나는 그것을 얻을 것이라고 생각하지만 확실히 확인해보십시오 : gen 테이블 (Employee)의 PK id는 사실 spec 테이블 중 하나의 PK id와 프로그래밍 방식으로 동일하게 만들어야합니까? 따라서 각 사양 테이블 (하위 유형)에는 항상 단일 gen 행과 관련된 다른 PKID가 있습니다.이것은 FK의 '보스'가 항상 gen 테이블 (수퍼 유형)과 관련 될 수 있음을 의미합니다. 나는 이것을 정확하게 이해 했는가? – TomL
어 ... 나는 물론 다른 방법을 의미했다 ... 스펙 테이블 (예 : 샐러리 드 직원)의 PK ID는 프로그래밍 방식으로 gen 테이블 (Employee) 중 하나의 PK ID와 동일하게 만들어졌다 , 권리? – TomL
예, 그 이상. "Boss of column"에 대한 FK는 Salary Employees 테이블의 한 행에 대한 PK와 동일한 값입니다. 이 PK는 Gen Employees 테이블의 한 행에있는 PK 값과 동일한 값이됩니다. 따라서이 공통 값을 기반으로 세 테이블을 모두 조인 할 수 있습니다. –