관계 클래스 사용 여부


12

방대한 양의 데이터로 정부 데이터베이스를 구축하고 있습니다. 이제 ESRI 지방 정부 데이터 모델의 표준 접근 방식을 따르고 있지만 특정 정부의 요구와 요구에 맞게 수정되었습니다.

지방 정부 데이터 모델에서 ESRI는 많은 관계 클래스를 사용하는 것으로 나타났습니다. 나는 과거에 관계 클래스를 사용해 왔지만 그것들을 피하려고하는 경향이있다. 일반적으로 피처 클래스와 별도의 테이블에있는 모양에 대한 속성을 원하는 이유를 알 수 없기 때문입니다.

내가 조립하는 거의 모든 데이터에 대해 여전히 그 이유를 알 수 없습니다. Parcel Fabric의 경우 도움이되는 몇 가지 이유를 알 수 있지만 여전히 피쳐 클래스에 속성을 직접 유지하는 것이 가장 좋습니다.

이제 기능 클래스를 기능 클래스에 참조하기 위해 관계 클래스를 사용할 것임을 분명히하기 위해,이 질문은 기능 클래스에 쉽게 저장할 수있는 비 공간 테이블에 데이터를 저장하는 이유에 대해 더 자세히 설명되어 있습니다.

어쨌든 모든 입력에 감사드립니다!

답변:


17

사람들이 별도의 테이블에 데이터를 구성하는 이유는 데이터베이스 정규화 원칙 때문입니다 (링크를 따라 가면 모든 근거가 있습니다). ESRI Relationship Classes는 이러한 원칙을 GeoDatabase 수준으로 구현 한 것입니다. 솔직히, 나는 개인적으로 두 가지 경우에만 사용하려고합니다.

사람들은 참조 무결성이 장점 중 하나라고 주장 할 수도 있지만 실제로는 SQL 프롬프트를 사용하여이를 회피 할 수 있다는 장점이 있습니다. 따라서이 기능의 이점은 사용자가 수정해야하는 워크 플로에 따라 다릅니다 (즉, ArcMap 만 사용하는 경우). 편집 대 사람들도 SQL 쿼리 또는 비 ESRI 도구를 사용하여 편집합니다.


2
와우, 좋은 대답입니다. 데이터베이스 이론의 큰 세계가 방금 떠 올랐습니다. 입력 주셔서 감사합니다!
코디 브라운

8

더 큰 그림을 생각해보십시오. GIS 데이터는 특히 정부 기관과 관련하여 대부분의 사람들이 끝내야 할 수단입니다. 당신이해야 할 때 내 경험은 관계 클래스는 주로 유용 (적절한) 것을이었다 비 공간 데이터를 통합 하여 공간 데이터에 대한 많은 관계 : 하나 는 외부 소스로부터 또는 지속적으로 변화, 특히 . 정부 기관에서 접한 실제 사례는 다음과 같습니다.

  • 피쳐에 대한 여러 비 공간 레코드 저장 (예 : 소화전 또는 밸브의 월별 검사 레코드)
  • 제어하지 않는 데이터 소스에서 관련 레코드 참조 (예 : 타사 자산 관리 프로그램의 데이터베이스에서 유지 보수 레코드 읽기)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.