공간“다 대일”조인 만들기


10

"다 대일"조인이라고하는 것을 만들려고합니다. 그것이 올바른 용어인지 아닌지 모르겠습니다. 소포 계좌 번호 (R0003285) 당 이동 주택 (예 : M1007970)의 고유 계좌 번호가있는 테이블이 있습니다. (소포마다 많은 이동 주택-다 대일)이 테이블을 소포 지오메트리에 결합해야하지만 소포 당 하나의 다각형 만 남아 있습니다.

예를 들어, 테이블에는 한 행에 모바일 홈 계정 번호가 M1007370이고 다른 행에 M1007371이 있고 M1059370이있는 다른 행이 3 개의 행이있을 수 있지만 모두 동일한 소포 번호 R0032585를 갖습니다. 우리의 소포 지오메트리는 R0032585의 같은 필드 만 가질 것입니다.

가입 할 때 12,088 개의 이동 주택 기록과 44,103 개의 소포가 있습니다. "모든 기록을 보관"하면 모바일 홈 계좌 번호가 7,947 개 (원본 12,088 개) 인 44,103 개의 기록이 있습니다. "일치하는 레코드 만 유지"를 기준으로 가입하면 총 7,947 개의 레코드 만 남게됩니다.

과거에 성공적으로 수행했으며 모델을 만들었습니다. 이 모델에서는 모바일 계정의 표를 사용하여 소포 계좌 번호를 기준으로 소포 계층 (.lyr-모델에 참여할 수있는 유일한 방법)에 참여합니다. 일치하는 레코드 만 유지하는 기능을 파일 지오 데이터베이스에 복사합니다. 지리 데이터베이스 파일에서 SDE 시스템에 추가합니다. 아무것도 바뀌지 않았기 때문에 현재로서는 이해할 수없는 이유로 작동하지 않습니다.

아마도 누군가 내가 내가하려는 일보다 더 잘 전달할 수 있으며, 일대일 관계 이외의 것으로 불리는 경우 (일대 다라고는 생각하지 않습니다 ...)

답변:


9

때로는 혼란 스럽지만 실제로는 관점의 문제입니다. 참조를 위해이 주제 에서이 다이어그램을 참조하십시오 .

관계도

이것은 5 가지 관계 (및 3 가지 다른 카디널리티 )의 예입니다.

  1. 일대 다 : 소포는 일대 다 관계에서 ParcelToOwner 테이블과 관련됩니다. 하나의 소포에는 많은 소유자가있을 수 있습니다 (부분 소유권).
  2. 대일 : ParcelToOwner 테이블은 다 대일 관계에서 Parcel과 관련이 있습니다. 많은 소유자가 소포를 소유하고 있습니다 (적어도 일부 비율).
  3. 대일 : ParcelToOwner 테이블은 다 대일 관계의 소유자와 관련이 있습니다. 많은 소포가 한 소유자가 (적어도 부분적으로) 소유 할 수 있습니다.
  4. 일대 다 : 소유자는 일대 다 관계에서 ParcelToOwner 테이블과 관련됩니다. 한 명의 소유자가 여러 소포를 소유 할 수 있습니다 (다시, 부분적으로)
  5. 다 대다 : 소포는 다 대다 관계에서 소유자와 관련됩니다. 많은 소포가 많은 소유자에 의해 (적어도 부분적으로) 소유 될 수 있고, 많은 소유자는 많은 소포를 (적어도 부분적으로) 소유 할 수 있습니다. 이것은 ParcelToOwner 테이블과 위에서 언급 한 관계를 통해 표현됩니다. 대부분의 DBMS는 중개 테이블 ( source ) 없이 다 대다 관계를 표현할 수 없으므로이 디자인입니다.

보시다시피, 관계가 일대 다인지 다대 일인지는 관계를 보는 방법에 달려 있습니다.

무엇보다도, 당신이 찾고있는 것을 성취하는 가장 쉬운 방법 은 각 이동 주택마다 하나씩 많은 동일한 소포를 만드는 쿼리 테이블 을 만드는 것입니다. 자세한 내용은이 블로그 게시물을 참조하십시오 : 1 : M 가입 수행에 대한 간단한 팁

모든 데이터가 엔터프라이즈 지오 데이터베이스에있는 경우 쿼리 레이어 를 사용 하여 동일한 기능을 수행 할 수도 있습니다 (중간 피쳐 클래스 없음).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.