Relacionamentos do SQL Server no ArcSDE?

9

Estou executando o ArcSDE 10 com o SQL Server 2008 R2 Standard Edition. Eu sou novo no SDE e no SQL Server, mas entendo que o SQL Server tem a capacidade de criar relacionamentos entre tabelas e manter certas regras de integridade referencial.

O ArcGIS possui classes de relacionamento que agem de maneira semelhante, mas uma classe de relacionamento não possui todos os recursos dos relacionamentos SQL e não resulta em um relacionamento SQL no banco de dados ArcSDE.

É possível criar classes de relacionamento no ArcGIS para um banco de dados ArcSDE e criar relacionamentos para as mesmas tabelas no SQL Server? Ao fazer isso, poderei utilizar esses relacionamentos, esteja trabalhando com os dados no ArcGIS ou no SQL Server Management Studio. Os dois tipos de relacionamento entrarão em conflito ou prejudicarão o desempenho?

Brian
fonte
Isso é apenas um palpite (e é por isso que não é uma resposta), mas aposto que adicionar relacionamentos pode causar alguns conflitos, a menos que você seja muito cuidadoso. Em uma observação importante, se você estiver criando um versionamento de suas tabelas, não deseja lê-las do lado do SQL, apenas do lado do GIS. A leitura do lado do SQL mostra apenas a versão mais antiga dos dados (e não as alterações feitas que constituem as versões).
Michael Todd
@ MichaelTodd - Obrigado pela sua resposta. Ouvi falar dos problemas de acesso a dados com versão por meio do SQL Server. No entanto, também ouvi dizer que isso é possível usando visualizações com várias versões. Eu ainda sou um novato nessas coisas, então não tenho muita certeza do que isso significa, mas meu argumento é que isso é possível. Só estou descobrindo que, quando se trata de gerenciamento de dados no ArcSDE, o ArcGIS é o elo mais fraco.
Brian
11
Sim, uma visualização com várias versões funciona, mas é muito mais lenta. Passamos de consultas de sub 1 segundo para consultas de 4 segundos quando mudamos para MVVs (o que não soa muito, mas o atraso foi muito perceptível tanto internamente quanto para clientes externos).
18711 Michael Michael May

Respostas:

7

SDE e SQL não são realmente amigos. Eles não cooperam muito bem. O SDE usa sql, mas não tira proveito de todos os seus recursos nativos. Um relacionamento configurado no sde não é refletido no SQL. A edição de tabelas de classes de recursos gerenciadas pelo SDE, a modificação de esquemas de tabelas fora do catálogo e a realização de muitas outras coisas irão definir o SDE. Dado esse histórico, eu deixaria os relacionamentos com a SDE se você estiver tentando relacionar informações da classe de recursos. Se você estiver usando tabelas regulares, corte sde e use sql nativo.

Não há referências para isso além das minhas próprias experiências. Se esse é um material não fornecido, contate ou exclua.

Steve
fonte