2017-03-10 1 views
0

현재 Java Model의 객체 지향 구조를 내 데이터베이스의 관계형 테이블에 투영하는 관계형 데이터베이스 (H2)를 설정하려고합니다. 나는 JDBC와 H2 RDBMS를 사용하고있다.외래 데이터베이스를 관계형 데이터베이스에 연결

그래서 내 문제는 : "속성"테이블에 저장해야하는 "특성"유형의 개체가 있습니다. 이 속성의 소유자는 "Function"유형의 객체이거나 "Block"유형의 객체 일 수 있으며 둘 다 자체적으로 테이블을가집니다. 하나의 속성 객체는 하나의 객체 (함수 또는 블록) 만 소유 할 수 있으므로 1 : n 카디널리티가됩니다.

그러나 속성 테이블에 소유자를 포함시키는 방법에 어려움을 겪고 있습니다. "ownerID"라는 테이블을 만들고 소유자의 ID (전역 고유 ID btw)를 저장하면 데이터베이스에이 ID가 포함 된 테이블 (GUID 임에도 불구하고)에 대한 정보가 누락됩니다.

- 예를 들어 owner_ID가 속한 테이블의 이름을 포함하는 다른 열을 포함해도됩니까?

- 다른 생각은 하나의 "functionOwnerID"열과 하나의 "blockOwnerID"를 포함하고 그 중 하나를 비워 두는 것이었지만 이것은 나에게 다소 지저분한 해결책으로 보입니다.

문제점에 대한 설명이 명확하고 감사드립니다.

안부, 모리츠

답변

0

"는 OWNER_ID가 속한 테이블의 이름을 포함하는 다른 열을 포함하는, 예를 들어, 그것은 괜찮습니까?"

이렇게 다형성 관계가 작동하는 방식입니다. :)

편집 : (그래, 당신이 할 수 있으며, 실제로 꽤 흔한 일)


참고 :

관련 문제