ArcSDE의 SQL Server 관계?


9

SQL Server 2008 R2 Standard Edition에서 ArcSDE 10을 실행하고 있습니다. 저는 SDE와 SQL Server를 처음 사용하지만 SQL Server가 테이블간에 관계를 만들고 특정 참조 무결성 규칙을 유지 관리 할 수 ​​있다는 것을 알고 있습니다.

ArcGIS에는 유사하게 작동하는 관계 클래스가 있지만 관계 클래스에는 SQL 관계의 모든 기능이 없으며 ArcSDE 데이터베이스에 SQL 관계가 없습니다.

ArcSDE 데이터베이스 용 ArcGIS에서 관계 클래스를 생성하고 SQL Server에서 동일한 테이블에 대한 관계를 생성 할 수 있습니까? 이렇게하면 ArcGIS 또는 SQL Server Management Studio에서 데이터 작업을 수행 할 때 이러한 관계를 활용할 수 있습니다. 두 가지 유형의 관계가 서로 충돌하거나 성능을 방해합니까?


이것은 단지 추측 (그렇지 않은 대답)이지만 관계를 추가하면 매우 신중하지 않으면 충돌이 발생할 수 있습니다. 중요한 측면에서, 테이블을 버전 관리하는 경우 GIS 측에서만 SQL 측에서 테이블을 읽고 싶지 않습니다. SQL 측에서 읽으면 가장 오래된 버전의 데이터 만 표시되며 버전을 구성하는 변경 사항은 표시되지 않습니다.
마이클 토드

@MichaelTodd-답변 주셔서 감사합니다. SQL Server를 통해 버전이 지정된 데이터에 액세스 할 때 발생하는 문제에 대해 들었습니다. 그러나 다중 버전 뷰를 사용하여 이것이 가능하다는 것도 들었습니다. 나는 아직도이 물건을 가진 초보자이기 때문에 그것이 무엇을 의미하는지 확실하지 않지만, 나의 테이크 아웃은 가능하다는 것입니다. ArcSDE의 데이터 관리와 관련하여 ArcGIS가 가장 약한 링크라는 것을 알았습니다.
브라이언

1
예, 다중 버전보기는 작동하지만 속도가 상당히 느립니다. 우리는 MVV로 전환했을 때 1 초 미만 쿼리에서 4 초 쿼리로 전환했습니다.
Michael Todd

답변:


7

SDE와 SQL은 실제로 친구가 아닙니다. 그들은 잘 협조하지 않습니다. SDE는 SQL을 사용하지만 모든 기본 기능을 활용하지는 않습니다. sde에 설정된 관계는 SQL에 반영되지 않습니다. SDE에서 관리하는 피처 클래스 테이블을 편집하고 카탈로그 외부의 테이블 스키마를 수정하고 다른 많은 작업을 수행하면 SDE가 손상됩니다. 이 트랙 레코드를 감안할 때 피쳐 클래스 정보를 연관시키려는 경우 관계를 SDE에 그대로 둡니다. 일반 테이블을 사용하는 경우 sde를 잘라 내고 기본 SQL을 사용하십시오.

내 자신의 경험 외에는 이것에 대한 언급이 없습니다. 그것이 출처가 아닌 자료라면 이의를 제기하거나 삭제하십시오.

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